elasticsearch 如何在ElasticSearch字符过滤器中使用多值映射?,elasticsearch,mapping,analyzer,elasticsearch,Mapping,Analyzer" /> elasticsearch 如何在ElasticSearch字符过滤器中使用多值映射?,elasticsearch,mapping,analyzer,elasticsearch,Mapping,Analyzer" />

elasticsearch 如何在ElasticSearch字符过滤器中使用多值映射?

elasticsearch 如何在ElasticSearch字符过滤器中使用多值映射?,elasticsearch,mapping,analyzer,elasticsearch,Mapping,Analyzer,我想使用ElasticSearch的字符过滤器,并将一些希腊字符映射到英语字符。问题是这不是一对一的情况。我想把一些希腊字母和不止一个英语字母匹配起来。例如,我想把“α”翻译成“a”,但我想把“β”翻译成“b”或“v”。有没有一种方法可以通过映射实现这一点?我必须使用应该替换的模式吗?我如何定义两个字符的模式?我现在的设置如下: { "test": { "settings": { "index": { "creation_date": "1477060982825", "an

我想使用ElasticSearch的字符过滤器,并将一些希腊字符映射到英语字符。问题是这不是一对一的情况。我想把一些希腊字母和不止一个英语字母匹配起来。例如,我想把“α”翻译成“a”,但我想把“β”翻译成“b”或“v”。有没有一种方法可以通过映射实现这一点?我必须使用应该替换的模式吗?我如何定义两个字符的模式?我现在的设置如下:

{
"test": {
"settings": {
  "index": {
    "creation_date": "1477060982825",
    "analysis": {
      "filter": {
        "myGreekLowerCaseFilter": {
          "type": "lowercase",
          "language": "greek"
        },
        "ngrams_filter": {
          "type": "ngram",
          "min_gram": "3",
          "max_gram": "8"
        }
      },
      "analyzer": {
        "my_analyzer": {
          "filter": [
            "lowercase",
            "myGreekLowerCaseFilter",
            "ngrams_filter"
          ],
          "char_filter": [
            "my_mapping"
          ],
          "type": "custom",
          "tokenizer": "standard"
        }
      },
      "char_filter": {
        "my_mapping": {
          "type": "mapping",
          "mappings": [
            "α => a",
            "β => b",
            "γ => g",
            "δ => d",
            "ε => e",
            "ζ => z",
            "η => h",
            "θ => th",
            "ι => i",
            "κ => k",
            "λ => l",
            "μ => m",
            "ν => n",
            "ξ => ks",
            "ο => o",
            "π => p",
            "ρ => r",
            "σ => s",
            "τ => t",
            "υ => y",
            "φ => f",
            "χ => x",
            "ψ => ps",
            "ω => w",
            "αι => ai",
            "ου => ou",
            "ει => ei",
            "οι => oi",
            "αυ => au",
            "ευ => eu",
            "μπ => mp",
            "γκ => gk",
            "ντ => nt",
            "γγ => gg"
          ]
        }
      }
    },
    "number_of_shards": "5",
    "number_of_replicas": "1",
    "uuid": "edpdWk14TRuBpNAWmVNOiA",
    "version": {
      "created": "2040099"
    }
  }
}
}
}

这在字符过滤器中是不可能的。