Solr实时获取 - 如何使用过滤器实时搜索

时间:2017-05-17 17:01:29

标签: solr solrj

我正在尝试使用SOLR中的实时获取。 在所有示例的文档中,为了实时获取文档,我必须使用ID。 是否可以使用过滤器实时搜索?

这是文档中的示例:

SUM

我想要这样的东西:

http://localhost:8983/solr/techproducts/get?id=mydoc&id=IW-
02&fq=name:realtime-get

{"response":
  {"numFound":1,"start":0,"docs":
    [ { "id":"mydoc",
        "name":"realtime-get test!",
        "_version_":1487137811571146752}
    ]
  }
} 

2 个答案:

答案 0 :(得分:1)

不,你做不到。

实时获取DOES有特殊要求,特别是您必须通过唯一键进行查找。

即使你可以添加fqs,这些也是可选的,但是不够,你不能只跳过你给出唯一键的'id'(或'ids')参数

答案 1 :(得分:0)

您的上一个示例将过滤器查询用作单个查询,这只是假设您不需要任何评分。对于查询部分,您可以使用*:*这是返回所有文档的特殊快捷方式,即q=*:*&fq=name=realtime-get

如果您希望应用评分,则可以将过滤器用作查询q=name:realtime-get

查询时“实时搜索”没有什么特别之处;只是因为你做软提交而不是硬提交(这意味着如果在硬提交发生之前发生电源故障,数据就会丢失,因为软提交只在内存中可用)。

相关问题