查询Solr重音和非重音

时间:2015-08-09 04:27:41

标签: solr lucene solr-query-syntax

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

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

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

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

我试过了:

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

没有成功

我使用的是Solr 5.2.1

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

  1. descriptionPt并使用text_pt
  2. descriptionEn并使用文字
  3. 现在,当您运行搜索时,您将通过qf指定要使用的字段或指定两者,并指定deftype = edismax。

    对我来说很好。