【问题标题】:Lucene.NET indexing one-letter words?Lucene.NET 索引单字母单词?
【发布时间】:2011-10-18 08:55:31
【问题描述】:

我正在使用 Lucene.NET,当我尝试索引以下文本时:“In de categorie T zijn tijdelijke borden (zwarte tekst/symbolen op gele achtergrond) opgenomen die niet in永久的 uitvoering beschikbaar zijn。"

它以粗体显示文本,所有内容都被很好地索引,但其中一个 T 将被忽略。

有人知道这个问题/问题吗?我正在使用以下语法。

doc.Add(new Field("text", text, Field.Store.NO, Field.Index.TOKENIZED));

【问题讨论】:

    标签: c# .net lucene indexing


    【解决方案1】:

    “T”在标准分析器中默认是停用词。您可以在创建分析器时提供自己的停用词列表。

    只需像这样创建一个分析器:

    StandardAnalyzer standardAnalyzer = new StandardAnalyzer(new string[]{"an", "a", /*other stopwords*/});
    

    并在索引和搜索期间使用它。

    【讨论】:

    • 我使用 StandardAnalyzer,并使用工具 Luke 来检查 T 是否在索引中。我对“categorie T”进行了精确的单词组合搜索,但没有找到。
    • @wsplinter,请查看上面的解决方案。
    • 嗨 Bismark,您的解决方案非常完美。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多