我的查询从我到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>
name
中的值是我记录的某种id。在我的数据库中,我只得到一个记录,id = 23908,所以我确信分面会返回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
我得到正确的分面但是查询不是我想要的。我不会以我需要的质量返回结果,所以对我来说是错误的。
我可以做些什么来在单词之间进行OR并进行分面搜索以正确计算我的结果,因为uniq值不是它们的总和?
更新
好的,我喜欢我的代码中的错误。正如我可以看到data-config中的一个开发人员将不同记录类型的uid设置为该字段(我有两个数据配置)。在某些情况下,来自一种数据类型的id和来自第二种的一种短语相同。那样我得到的数字不是2