Solr - 以任何顺序包含所有术语的结果

jma*_*nes 8 lucene solr solrnet

在SOLR安装中,当我搜索具有多字搜索词的字段时,我希望SOLR返回在搜索中包含所有术语的文档,但它们不需要按照确切的顺序.

例如,如果我搜索Brown Chicken Brown Cow的标题,我想查找包含所有术语Brown,Chicken和Cow的所有文档,而不管标题字段中的顺序如何.因此,例如,标题"鸡和牛有棕色大便"应该与查询匹配.AFAIK,这也是Google执行搜索的方式.

我已经尝试了以下查询格式:

1. Title:Brown AND Title:Chicken
2. Title:Brown AND Chicken
3. Title:Brown+Chicken
Run Code Online (Sandbox Code Playgroud)

我对结果非常困惑.在某些情况下,前两个查询返回相同的结果集.在其他情况下,第一个版本将返回许多结果,第二个版本将不返回任何结果.第三个版本似乎满足了我的需求,但我对查询的不同含义感到困惑.

我的所有测试都是针对text_en类型的字段运行的.

<field name="Title" multiValued="false" type="text_en" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

那么,对于这种类型的搜索,最好的SOLR查询/设置是什么?此外,是否有一种简单的方法可以让Solr.NET获取用户输入的搜索词并将其转换为这种格式?

此外,SOLR默认情况下是否会为搜索词组的顺序提供更高的相关性分数?如果没有,那么实现这一目标的正确杠杆是什么?

编辑: 我的一些困惑是由于搜索非默认字段和默认字段引起的.知道这一点,唯一一致的格式是第一种格式.

Fux*_*uxi 9

如果我是你,我会尝试使用:

Title:(Brown Chicken)
Run Code Online (Sandbox Code Playgroud)

括号将使其等同于您的查询号1.报价将强制Solr搜索完全匹配,包括空格和顺序