Solr过滤查询与布尔查询?

35g0bw71  于 5个月前  发布在  Solr
关注(0)|答案(1)|浏览(54)

对于我的实现,我以前使用solr过滤器查询使用solrj,如。

fq=content_source:SharePoint+AND+AuthenticatedUserName=lalit

字符串
但是现在我使用lucene boolean query,query是这样构建的。

content_source=SharePoint&AuthenticatedUserName=lalit


我想澄清两个选项之间的区别,因为我认为布尔查询也是一种过滤查询。哪一个应该在哪些场景中使用。
最后,哪一个更有效率?

vwoqyblh

vwoqyblh1#

Filter Query用于确定哪些文档属于结果集,并且与结果集中的文档顺序无关。
查询将影响结果在结果集中的顺序。
例如,如果你搜索name:finn site:stackoverflow,你会得到任何带有name=finnsite=stackoverflow的文档,而那些共享这两个条件的文档排序在顶部。如果你将site移动到过滤器查询,你会发现你只得到stackoverflow的结果,在这些结果中,你只会看到finn s。
如果你搜索(name:finn OR name:chris) site:stackoverflow,你会得到大量的结果,finnchris的结果浮在顶部。如果你再次将site移动到过滤查询,你会得到只有site=stackoverflow的结果,只有finnchris的结果,而那些带有finn * 和 * chris的将浮动到顶部。

相关问题