elasticsearch Elasticsearch修改asciifolding,elasticsearch,unicode,full-text-search,ascii,elasticsearch,Unicode,Full Text Search,Ascii" /> elasticsearch Elasticsearch修改asciifolding,elasticsearch,unicode,full-text-search,ascii,elasticsearch,Unicode,Full Text Search,Ascii" />

elasticsearch Elasticsearch修改asciifolding

elasticsearch Elasticsearch修改asciifolding,elasticsearch,unicode,full-text-search,ascii,elasticsearch,Unicode,Full Text Search,Ascii,ASCII折叠令牌过滤器将“Ə”/“ə”(U+018F/U+0259)字符折叠为“A”/“A”。我需要修改或添加折叠到“E”/“E”char\u filter没有帮助,也无法保留原始内容 添加分析器: curl -XPUT 'localshot:9200/myix/_settings?pretty' -H 'Content-Type: application/json' -d' { "analysis" : { "analyzer" : {

ASCII折叠令牌过滤器将“Ə”/“ə”(U+018F/U+0259)字符折叠为“A”/“A”。我需要修改或添加折叠到“E”/“E”
char\u filter
没有帮助,也无法保留原始内容

添加分析器:

curl -XPUT 'localshot:9200/myix/_settings?pretty' -H 'Content-Type: application/json' -d'
{
        "analysis" : {
            "analyzer" : {
                "default" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "my_ascii_folding"]
                }
            },
            "filter" : {
                "my_ascii_folding" : {
                    "type" : "asciifolding",
                    "preserve_original" : true
                }
            }
        }
}
'
测试结果:

http://localhost:9200/myix/_analyze?text=üöğıəçşi_ÜÖĞIƏÇŞİ&filter=my_ascii_folding

{
  "tokens": [
    {
      "token": "uogiacsi_UOGIACSI",
      "start_offset": 0,
      "end_offset": 17,
      "type": "<ALPHANUM>",
      "position": 0
    },
    {
      "token": "üöğıəçşi_ÜÖĞIƏÇŞİ",
      "start_offset": 0,
      "end_offset": 17,
      "type": "<ALPHANUM>",
      "position": 0
    }
  ]
}
http://localhost:9200/myix/_analyze?text=üöğıəşiÜĞiƏŞİ&filter=my_asciiİ折叠
{
“代币”:[
{
“令牌”:“uogiacsi_uogiacsi”,
“起始偏移量”:0,
“端部偏移”:17,
“类型”:“,
“位置”:0
},
{
“代币”:“代币”,
“起始偏移量”:0,
“端部偏移”:17,
“类型”:“,
“位置”:0
}
]
}
当查看Lucene的源文件时,它看起来确实不像
Ə
被折叠成
E
而不是
a
。即使是在类固醇上进行的
asciifolding
,也会进行同样的折叠

然而,在这个问题上有一个问题,根据发音,它应该被折叠成
a
,而不是
e

在英文或法文维基百科上快速搜索,它现在被折叠起来,显示它被折叠成了A!我本以为是基于正字法的e,但a在发音方面是有意义的(至少在英语中是这样)

还有人甚至认为
a
e
都没有意义:

这似乎是一个非常糟糕的决定。我认为ə不应该折成a或e

无论如何,我认为除了使用char_过滤器或自己将其捆绑到ES分析插件之外没有其他方法。

当查看Lucene的源文件时,它确实看起来像是被折叠成
E
而不是
a
。即使是在类固醇上进行的
asciifolding
,也会进行同样的折叠

然而,在这个问题上有一个问题,根据发音,它应该被折叠成
a
,而不是
e

在英文或法文维基百科上快速搜索,它现在被折叠起来,显示它被折叠成了A!我本以为是基于正字法的e,但a在发音方面是有意义的(至少在英语中是这样)

还有人甚至认为
a
e
都没有意义:

这似乎是一个非常糟糕的决定。我认为ə不应该折成a或e


无论如何,我认为除了使用字符过滤器或自己将其捆绑到ES分析插件之外,没有其他方法。

看看这里,我已经尝试过并在我的问题中指出,它没有保留原创性。看看这里,我已经尝试过并在我的问题中指出,这不能保留原来的运气?有运气吗?