SOLR更新了查询中缺少的文档

时间:2014-06-24 23:38:19

标签: solr

(还是新手;更多问题)

我正在通过HTTP GET调用对一些SOLR 4记录执行原子更新。在我修复了网址的一些问题后,这项工作正常。

但我的原始问题仍然存在:我更新文档后,我的搜索查询不再找到我更新的文档。

我是否需要重新索引更新的文档?原子更新会导致文档脱离索引吗?

例如: 我可以用这个搜索:

http://solrfarm.gateway.cco:8983/solr/records/select/?q=firstName:(tomas) recordType:(myrectype)&rows=100

我得到的XML看起来像:

<doc>
<str name="id">CollName-7276748</str>
<str name="system">OHM Liens</str>
<long name="_version_">1464208859225653248</long>
<bool name="optout">false</bool>
</doc>

我想将optout值更改为“true”,并且会发生如下所示的网址:

http://prodsolr01.cco:8983/solr/records/update?stream.body=%3Cadd%3E%3Cdoc%3E%3Cfield%20name=%22id%22%3ECollName-7276748%3C/field%3E%3Cfield%20name=%22optout%22%20update=%22set%22%20%3Etrue%3C/field%3E%3C/doc%3E%3C/add%3E&commit=true

解码并格式化:

stream.body=
<add>
    <doc>
        <field name="id">CollName-7276748</field>
        <field name="optout" update="set" >true</field>
    </doc>
</add>
&commit=true

但是,现在当我运行原始查询时,我的记录不会被返回。 如果我明确搜索记录,我会得到记录:

http://solrfarm.gateway.cco:8983/solr/records/select/?q=id:(%22CollName-7276748%22)%20&rows=100

所以我很困惑为什么我的查询不再找到更新的记录。我是否需要将所有原始字段传递给我的更新命令(即最初编入索引的“firstName”和“lastName”字段)?

仅仅执行更新不足够吗?

同样,我是一个新手,我可能没有“得到”一些基本的东西,所以所有的帮助都表示赞赏。

0 个答案:

没有答案
相关问题