如何使用Sitecore Advanced Database Crawler搜索确切的单词/短语?

时间:2013-03-10 14:50:35

标签: sitecore lucene.net sitecore6

Sitecore Advanced Database Crawler是否可用于搜索确切的单词/短语(不是子字符串)。我尝试使用通配符搜索但失败了。我已经google了,但找不到任何建议或解决方案。

1 个答案:

答案 0 :(得分:4)

默认情况下,Sitecore.Search API会重写您的查询以使用Lucene.Net.Search.PrefixQuery,这不会为您提供您正在寻找的完全匹配词组。 Sitecore.Search.IndexSearchContext上有一个超载接受Sitecore.Search.PreparedQuery,它会绕过大部分重写逻辑,最终会导致使用Lucene.Net.Search.TermQuery,从而为您提供精确的词组匹配。

高级数据库爬网程序(现在称为Sitecore Search Contrib)默认情况下不使用PreparedQuery重载。您需要修改QueryRunner才能执行此操作。可以看到一个例子in this pull request。您还可以下拉Active Commerce SitecoreSearchContrib fork,其中包括此增强功能。