我从我的到 solr 的查询看起来像这样
q=(rtitle:(work+codex))&facet=true&facet.field=record_type&facet.field=subject0&facet.field=grid&facet.limit=9000&start=0&rows=0
有趣的是,我的许多记录都可以通过使用单词“work”和单词“codex”找到。当我像上面那样查询时,我得到类似的东西
<lst name="grid"><int name="23908">2</int></lst>
in 的值name
是我记录的某种 id。在我的数据库中,我只有一条id = 23908 的记录,所以我确信 faceted 将返回 mi 编号 1,但看起来它给了我 2,因为可以为每个单词找到该记录。
当我这样查询时:
q=(rtitle:(work+AND+codex))&facet=true&facet.field=record_type&facet.field=subject0&facet.field=grid&facet.limit=9000&start=0&rows=0
我得到了正确的刻面但查询不是我想要的。Id 不会以我需要的质量返回结果,所以这对我来说是错误的。
我该怎么做才能在单词之间进行 OR 并进行分面搜索以将我的结果正确计算为 uniq 值而不是它们的总和?
更新
好的,我喜欢我的代码中的错误。正如我在该字段的不同记录类型的数据配置集 uid 中看到的开发人员之一(我有两个数据配置)。在某些情况下,来自一种数据类型和第二种数据类型的 id,其中一个短语相同。这样我得到的数字是 2 而不是 1