2

我使用 Solr 版本 3.6.2

我已经索引了一个名为“type”的字段,类似于 type1 type2 type3。

当我在查询中不带条件进行搜索时,我会得到具有一定相关性的结果。在这种情况下,所有搜索结果的类型都恰好是 type1 type2 type3。

例如:

Result 1
Result 2
Result 3

但是,当我向同一个查询添加条件并明确声明它应该是 type1、type2 或 type3 时,例如:(query) AND (type:type1 OR type:type2 OR type:type3)

例如:

Result 1
Result 3
Result 2

结果,我得到了不同的相关性,并且得到了不同的结果计数。

因此,如果我添加一个已经成立的条件,我会得到不同的相关性。

为什么会有这种行为?

4

2 回答 2

1

好吧,它应该看起来像这样:

text:(+query) and +type:(1 2 3)^0

^0 表示应该满足第二个条件但没有相关性!

于 2013-09-05T13:59:31.713 回答
1

尝试在您的查询中使用以下运算符。

以加号( + )开头=必须在搜索结果中

以幂符号开头(^)=搜索结果的相关性(0表示搜索结果没有影响)

与 SQL 查询比较

Select * from Table1 Where text = 'xxx' 并输入 (1,2,3)

于 2013-09-05T14:10:53.113 回答