SOLR部分更新禁止应用fq参数检索文档

SOLR部分更新禁止应用fq参数检索文档,solr,solr4,Solr,Solr4,我在Solr 4.5.1中有一个索引文档,其中包含几种类型的字段列表。 当我在一个字段上运行“ID”部分更新时,当应用fqparam时,同一文档不再可搜索。如果我在qparam中使用相同的过滤器,它是可搜索的 场景示例: localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC" 文件将被返回 在对“fieldname2”运行部分更新后。。。 以下查询不返回该单据 localhost:8983/corename/select?q=*:

我在Solr 4.5.1中有一个索引文档,其中包含几种类型的字段列表。 当我在一个字段上运行“ID”部分更新时,当应用
fq
param时,同一文档不再可搜索。如果我在
q
param中使用相同的过滤器,它是可搜索的

场景示例:

localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC"
文件将被返回

在对“fieldname2”运行部分更新后。。。 以下查询不返回该单据

localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC"
localhost:8983/corename/select?q=*:*+fieldname:"DOC"
下面的查询返回该文档

localhost:8983/corename/select?q=*:*&fq=fieldname:"DOC"
localhost:8983/corename/select?q=*:*+fieldname:"DOC"

有什么想法吗?这是一个Solr bug吗?

您显示的两个查询不完全相同-后者可能被解释为
*:*或fieldname:“DOC”
,具体取决于
q.op
的值和架构中的默认运算符。如果尚未配置,默认运算符为


我的猜测是,该字段没有存储,因此在原子更新之后,该字段不再有任何与其关联的值。要使用原子更新功能,所有字段都必须标记为已存储。

问题已经解决…所有可搜索字段都必须设置为已存储=“true“。否则,它们会在部分更新过程中丢失。

我确信查询在和中,并且字段设置为stored=“true”添加一个显示这种情况的最小示例(schema和example curl请求)