Я получаю 0 результатов, используя ES phoneti c анализатор.
Использование встроенного плагина в AWS - https://aws.amazon.com/about-aws/whats-new/2016/12/amazon-elasticsearch-service-now-supports-phonetic-analysis/.
Перед индексированием я использовал этот код для настройки анализатора phoneti c.
PUT enpoint/courts_2
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_metaphone"
]
}
},
"filter": {
"my_metaphone": {
"type": "phonetic",
"encoder": "metaphone",
"replace": true
}
}
}
}
}
}
Примечание. Я не загружал его специально, так как AWS предварительно его собрал (см. Ссылку выше). Теперь я использую этот код для выполнения запроса к конечной точке -
{
"query": {
"multi_match" : {
"query" : "Abhijith",
"fields" : ["content", "title^10"],
"analyzer": "my_analyzer"
}
},
"size": "1",
"_source": [ "title", "bench", "court" ],
"highlight": {
"fields" : {
"title" : {},
"content":{}
}
}
}
Но я получаю ноль результатов назад. Я получаю следующий вывод:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 0,
"relation": "eq"
},
"max_score": null,
"hits": []
}
}
Я могу подтвердить, что когда я не использую анализатор, я получаю ответные обращения.
Когда я использую этот код, он возвращает нормальный вывод.
GET courts_2/_analyze
{
"analyzer": "my_analyzer",
"text": "Abhijith"
}
Ответ
{
"tokens": [
{
"token": "ABHJ",
"start_offset": 0,
"end_offset": 8,
"type": "<ALPHANUM>",
"position": 0
}
]
}
Отображение индекса
{
"courts_2": {
"mappings": {
"properties": {
"author": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"bench": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"citation": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"content": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"court": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"date": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id_": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"verdict": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}