首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在apachesolr中忽略重音/对话

在apachesolr中忽略重音/对话
EN

Drupal用户
提问于 2015-08-07 19:25:26
回答 1查看 2.2K关注 0票数 1

我有一个英文网站,但上面有相当多的法语文本。因此,有一些特殊的字符,如è,é,á等。

在搜索(使用solr 4)时,我根本不想担心那些占卜词,所以,说“任意e给你每一个e”

现在,我有了,所以如果你搜索非解说词,你会得到所有相关的解说词(搜索"siecle",然后得到“siecle”),但是如果使用diacritics搜索,它就什么都找不到了(搜索"siècle“就什么也找不到)。

我在玩映射-ISOLatin1Accent.txt和使用:

代码语言:javascript
复制
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>

代码语言:javascript
复制
<filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="false"/>

但我尝试过的一切似乎都没有任何改变。我想我必须将它添加到schema.xml中,但是我不确定应该在哪些字段类型中这样做。有以下几种实地类型:

  • text_ws
    • “仅在空格上分割以精确匹配单词的文本字段”

  • 文本
    • “使用WordDelimiterFilter实现单词拆分和匹配的文本字段.”

  • text_und
    • 一个没有词根的文本字段--如果一个人不知道字段的语言,那就好了

我尝试了我能想到的每一个组合,每次都清除/重建索引,但什么也没有。包括解说词在内的搜索总是失败的。

在查看了Apache的管理站点之后,看起来ASCIIFoldingFiltorFactory被添加到索引分析器中,而不是对文本的字段类型的查询分析器,但我不知道为什么;我以同样的方式添加到这两个分析器中。

EN

回答 1

Drupal用户

回答已采纳

发布于 2015-08-18 19:32:27

因此,我认为这是一个混合的问题/问题,但它们是更广泛的/在某种程度上与症状间接相关。我将提到修复它/解决它的步骤:

  1. 在web界面上,我从下拉列表中选择了核心,然后选择了下面的“架构浏览器”。
  2. 从那里,我可以判断哪些实际的过滤器/令牌正在加载。ASCIIFoldingFilterFactory列在文本字段类型的索引分析器上,而不是查询分析器。
  3. 当我试图重新加载内核时,它得到了一个错误,并失败了。它提到了一个已经加载的对话框(它是在谈论映射--ASCIILatiallever.txt文件,我之前已经尝试过了)
  4. 我清除了该文件,因为我试图使用不同的过滤器,并且内核能够重新加载、重新索引,现在一切都很正常(过滤器在查询分析器上)。

所以,任何其他处理这个问题的人,在suhort中:检查您在web中的"Schema浏览器“中的Solr,您遇到了问题!

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/168207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档