【问题标题】:How to approach non-latin characters in ElasticSearch autocompletion with Mongoosastic?如何使用 Mongoosastic 在 ElasticSearch 自动完成中处理非拉丁字符?
【发布时间】:2017-09-25 21:12:53
【问题描述】:

使用 es.search({size: 0, suggest: ...} 在可以具有非拉丁变音符号(重音字符,如 â、ê 等)的字段上使用完成映射,自动完成工作正常。

我正在使用mongoosastic 创建映射。我需要能够使用 asciifolding 之类的东西来获得建议或在响应中添加其他字段。

我有这些字段:

  • name 是带变音符号的那个。
  • nameSearch 这是拉丁化的name(没有变音符号/重音字符)。

我需要在name 上继续完成建议,但将a 视为与â 相同(以及其他方式)。

在回复中我需要name。不是nameSearch

【问题讨论】:

    标签: elasticsearch mongoosastic


    【解决方案1】:

    我又一次偶然发现了这个问题,这次没有mongoosastic。答案是在索引查询中有settings 字段(在mongoosastic 中,您可以在使用自定义映射时添加它)。

    settings: {
      analysis: {
        analyzer: {
          folding: {
            tokenizer: 'standard',
            filter: ['lowercase', 'custom_asciifolding'],
          },
        },
        filter: {
          custom_asciifolding: {
            type: 'asciifolding',
            preserve_original: true,
          },
        },
      },
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-04
      • 2021-12-28
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      相关资源
      最近更新 更多