Я пытаюсь использовать ElasticSearch в качестве хранилища данных, чтобы найти людей по имени.Я пытался создать индекс, я добавил слова, изменил отображение, но когда я пытаюсь найти людей по имени с помощью алгоритма JaroWinkler & Levenstein, он ничего не возвращает.
шаг 1 PUT: http://127.0.0.1:9200/list
{
"mappings": {
"main": {
"properties": {
"ppl_name": {
"type": "text"
}
}
}
}
}
с ответом
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "list"
}
шаг 2
post / put http://127.0.0.1:9200/list/main/1
{"ppl_name":"oleksandroleksandrovychborysenko"}
{"ppl_name":"oleksandr oleksandrovych borysenko"}
с ответом
{
"_index": "list",
"_type": "main",
"_id": "2",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
шаг 3 GET http://127.0.0.1:9200/list/_mapping ответ:
{
"list": {
"mappings": {
"main": {
"properties": {
"ppl_name": {
"type": "text"
}
}
}
}
}
}
шаг 4 post http://127.0.0.1:9200/list/main/_search
с телом
{
"suggest": {
"text" : "oleksandr oleksandrovych borysenko",
"levenstein" : {
"term" : {
"string_distance": "levenstein",
"field" : "ppl_name"
}
},
"jarowinkler" : {
"term" : {
"string_distance": "jarowinkler",
"field" : "ppl_name"
}
}
}
}
и ОТВЕТ
{
"took": 28,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 0,
"max_score": 0,
"hits": []
},
"suggest": {
"jarowinkler": [
{
"text": "oleksandr",
"offset": 0,
"length": 9,
"options": []
},
{
"text": "oleksandrovych",
"offset": 10,
"length": 14,
"options": []
},
{
"text": "borysenko",
"offset": 25,
"length": 9,
"options": []
}
],
"levenstein": [
{
"text": "oleksandr",
"offset": 0,
"length": 9,
"options": []
},
{
"text": "oleksandrovych",
"offset": 10,
"length": 14,
"options": []
},
{
"text": "borysenko",
"offset": 25,
"length": 9,
"options": []
}
]
}
}
Может кто-нибудь помочь мне в этой ситуации?