【问题标题】:Lucene: dealing with apostropheLucene:处理撇号
【发布时间】:2016-01-30 23:14:11
【问题描述】:

我想处理 Lucene 中的撇号。让我们举个例子。我有以下句子:“L'arbre est vert”。我想知道如何在没有撇号的情况下创建对“arbre”一词的查询)。使用 StandardAnalyzer,我需要写“L'arbre”才能得到肯定的答案。

请注意这里有一个问题:Lucene Indexing to ignore apostrophes。但由于我是 Lucene 的新手,我想举个例子(代码 sn-p 在 Lucene 5.3 中工作)。

【问题讨论】:

    标签: java lucene apostrophe


    【解决方案1】:

    您似乎需要对法语进行更可靠分析的东西。我会考虑使用FrenchAnalyzer。 StandardAnalyzer 旨在提供可通过的与语言无关的分析。如果您想对特定语言进行更智能的语言分析,则应使用该语言的分析器。

    对于“L'arbre est vert”,StandardAnalyzer 将其标记为:

    • l'arbre
    • 估计
    • 垂直

    FrenchAnalyzer 为您提供的信息:

    • arbr
    • 垂直

    【讨论】:

    • 问题是我必须索引多种语言。不仅是法语。所以这个解决方案不适合我的用例。例如在英语中我们可以有“a woman's hat”。我希望查询“女人”能给我一个肯定的答案。
    【解决方案2】:

    正如@femtoRgon 所指出的,您需要通过更适当的分析来满足这一需求。您可以根据特定文档/查询的语言更改字段的分析器,也可以选择更高级的策略,如使用特定语言的索引或字段。

    查看Multilingual Search using Lucene,了解可能的策略概览。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 2018-12-16
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多