2

如果我搜索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

4

1 回答 1

0

只需尝试用单引号给出搜索词,我已经在 CF 10 上进行了测试,它对我来说效果很好。所以代替:cfset term1=""信息全球化"'

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

于 2012-09-16T07:32:49.280 回答