Sitecore 7 ContentSearch API是否会删除查询中的停用词?

Ada*_*msy 7 lucene sitecore sitecore7

我发现包含'of','和','the'等的搜索不会返回结果,因为Lucene删除了停用词.因此,如果我搜索标题为"第一次世界大战的后果"的项目,我将得到零结果.

但是,如果我删除''和'',那么我正在寻找"第一次世界大战的后果".我会收到预期的文件.

ContentSearch API是否会从查询中删除停用词?这是一个可以配置Lucene删除的东西吗?或者我应该在构建查询之前删除这些停用词?

谢谢亚当

小智 1

我认为这与此博客中的问题是相同的问题。

您可以尝试按照博客文章中的步骤进行操作吗?

其他选项可以是创建自定义分析器并向构造函数提供停用词列表。就像是:

public class CustomAnalyzer : Lucene.Net.Analysis.Standard.StandardAnalyzer
{
    private static Hashtable stopWords = new Hashtable()
    {
        {"of", "of"},
        {"stopword2", "stopword2"}
    }; 
    public CustomAnalyzer() : base(Lucene.Net.Util.Version.LUCENE_30, stopWords)
    {      
    }
}
Run Code Online (Sandbox Code Playgroud)

修改后,您需要更改您的配置文件。您可以在这里找到一篇关于分析器的精彩博客文章。PS:我没有尝试我的代码是否真的有效。