为什么搜索词的顺序会影响solr查询结果?

时间:2012-09-07 23:16:36

标签: coldfusion solr coldfusion-9

如果我搜索Authorname "Title of Work",则记录不会出现,但如果我搜索"Title of Work" Authorname,那么他们会这样做。

为什么会发生这种情况?

这是在Coldfusion上运行的solr。唯一的变化是条款的顺序。

更新

示例冷血代码。请注意,在此示例中,第一个获得2个匹配,而第二个获得1.因此看起来这取决于搜索的实际字符串,但它仍然意味着更改术语的顺序会更改返回的记录数。

我可以理解它更改了返回的记录的顺序,因为更改顺序会改变结果的相关性。但是所有3条记录都应该出现在任何一条记录中。我会看看我是否可以找到solr日志并发布它们,这可能会有所帮助。

<cfset term1='"globalization of information"'>
<cfset term2='Reiter'>
<cfsearch name="ExampleOne" criteria='#term1# #term2#' collection="abstracts,fulltexts">
<cfoutput>#ExampleOne.recordcount#</cfoutput>
<cfsearch name="ExampleTwo" criteria='#term2# #term1#' collection="abstracts,fulltexts">
<cfoutput>#ExampleTwo.recordcount#</cfoutput>
<cfabort>

输出:

  

2 1

1 个答案:

答案 0 :(得分:0)

试着用单引号给出搜索词,我已经在CF 10上测试了它,它对我来说很好。 所以不要: cfset term1 ='“信息全球化”'

试试这个 cfset term1 =“'信息全球化'”