我正在尝试使用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}
]
}
}
答案 0 :(得分:1)
不,你做不到。
实时获取DOES有特殊要求,特别是您必须通过唯一键进行查找。
即使你可以添加fqs,这些也是可选的,但是不够,你不能只跳过你给出唯一键的'id'(或'ids')参数
答案 1 :(得分:0)
您的上一个示例将过滤器查询用作单个查询,这只是假设您不需要任何评分。对于查询部分,您可以使用*:*
这是返回所有文档的特殊快捷方式,即q=*:*&fq=name=realtime-get
。
如果您希望应用评分,则可以将过滤器用作查询q=name:realtime-get
。
查询时“实时搜索”没有什么特别之处;只是因为你做软提交而不是硬提交(这意味着如果在硬提交发生之前发生电源故障,数据就会丢失,因为软提交只在内存中可用)。