查询 Solr 重音和非重音

Query Solr accented and unaccented

我正在配置保存巴西葡萄牙语数据的核心 solr。

关于口音,我需要查询类似:

  search   |   return
computação | computacao
computacao | computação

我基本上需要的是,查询中有或没有重音,return两种类型的词

我试过了:

<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>

没有成功

我正在使用 Solr 5.2.1

尝试添加 BrazilianStemFilterFactory 作为用于搜索字段的字段类型的过滤器。

这是专门为Brazilian Portuguese写的。 这可以解决您的问题。

当使用多语言索引时,我所做的是为使用语言特定文本字段的每种语言创建一个新字段。

假设您有英语和葡萄牙语,因此您需要声明两个字段:

  1. descriptionPt 并使用 text_pt
  2. descriptionEn 并使用文字

现在,当您 运行 搜索时,您可以通过 qf 指定要使用的字段或同时指定两者,并指定 deftype=edismax。

对我来说效果很好。