我在Solr 4.5.1中索引了一个文档,其中列出了几种类型的字段。
当我在字段上按“ID”运行部分更新时,在应用fq
param时,同一文档不再可搜索。如果我在q
param。
场景示例:
localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC"
退回文件。
在“fieldname2”上运行部分更新后... 以下查询不返回doc
localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC"
以下查询返回文档
localhost:8983/corename/select?q=*:*+fieldname:"DOC"
有什么想法吗?这是Solr的错误吗?
答案 0 :(得分:0)
您显示的两个查询不相同 - 后者可能被解释为*:* OR fieldname:"DOC"
,具体取决于q.op
的值和架构中的默认运算符。如果尚未配置,则默认运算符为OR
。
我的猜测是该字段未存储,因此在原子更新后,该字段不再具有与之关联的任何值。要使用原子更新功能,必须将所有字段标记为已存储。
答案 1 :(得分:0)
问题解决了......所有可搜索的字段都必须设置为存储=" true"。否则他们会在部分更新期间迷路。