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:我没有尝试我的代码是否真的有效。