分面搜索为1个结果提供大于1的数字

时间:2012-10-18 10:57:07

标签: solr faceted-search

我的查询从我到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

0 个答案:

没有答案