阿拉伯语字符在 elasticsearch 中无法识别



以前有没有人遇到过这个问题,我将一个阿拉伯语文档推送到 elasticsearch,当我取回它时,它中的所有字符都以有线格式出现,甚至 Unicode 都没有转义。 见下文。 有谁知道问题是什么?

{
"script": 
{
"phrases": 
[
{
"phrase": "'(H 'DE:J+ B/3 'DDG 1H-G (4J! H'DB/3 'DDG '-E/ E1*6I",
"alternativePhrases": [
"'(H 'DE:J+ B/3 'DDG 1H-G (4J! H'DB/3 'DDG '-E/ E.*'1",
"'(H 'DE:J+ B/3 'DDG 1H-G (4J! H'DB/3 'DDG '-F' AJ 7'('",
"'(H 'DE:J+ B/3 'DDG 1H-G (4J! 'DB/3J 'DDG '-E/ E.*'1",
"'(H 'DE:J+ B/3 'DDG 1H-G (4J! 'DB/3 'DDG '-E/ E1*6I"
]
},
{
"phrase": " E' 5-G 'D/9'! D'-/",
"alternativePhrases": [
" E' 5-G 'D/9'! 9DI '-/",
" E3-* 'D/9'! D'-/",
" E' 5-G 'D/9'! D' '-/",
" E' 5-G 'D/9'! H'D'-/"
]
}
]
}
}

这是原始文档(注意:虽然文本不完全相同(

{
"script": 
{
"phrases": 
[
{
"phrase": " اغنيه عن اب ليس فقط عن العين",
"alternativePhrases": [
" غريب عين ابليس سقط عن العين",
" غير عين ابليس سقط عن العين",
" غير عين ابليس فقط عن العين",
" غريب عين ابليس فقط عن العين"
]
},
{
"phrase": " كشاف على العين العين بالاحكام",
"alternativePhrases": [
" كشاف على العين العين من له احكام",
" كشف الهوى العين العين من له احكام",
" كشاف على العين العيب من له احكام",
" كشاف على العين العين من الاحكام"
]
}
]
}
}

此外,这是索引映射:

PUT _template/ar-template
{
"index_patterns": 
[
"*ar-idx*"
],
"mappings": 
{
"doc": 
{
"dynamic": "strict",
"properties": 
{
"script": 
{
"properties": 
{
"phrases": 
{
"properties": 
{
"alternativePhrases": 
{
"type": "text",
"fields": 
{
"keyword": 
{
"type": "keyword",
"ignore_above": 256
}
}
},
"endTime": 
{
"type": "keyword",
"ignore_above": 256
},
"phrase": 
{
"type": "text",
"fields": 
{
"keyword": 
{
"type": "keyword",
"ignore_above": 256
}
}
},
"startTime": 
{
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
},
"settings": 
{
"index": 
{
"number_of_shards": "5",
"refresh_interval": "30s",
"number_of_replicas": "1"
}
}
}

您可以使用分词器将阿拉伯语输入转换为 Unicode。 例如,在 ELK 文档中,说明了一个分词器将阿拉伯语文字转换为等效的拉丁语。 创建索引模板并包含这些分词器和筛选器。

以下是我参考的文档的链接: 弹性搜索 Unicode 字符折叠

最新更新