undermuz
@undermuz
Full-Stack Developer

Как искать по вхождению в строке в ElasticSearch?

Как изменить маппинг/индекс чтобы по запросу #1("иван") находил запись "Иванова Ольга Ивановна"?

Индекс:
PUT /test
{
   "mappings": {
	   "properties": {
		 "title": {
		   "type": "text"
		 }
	   }
	 }
 }

PUT /test/_doc/1
{
	"title": "Иванова Ольга Ивановна",
}


Запрос #1, по которому ничего не находит:
GET /test/_search
{
	"query": {
		"multi_match": {
			"query": "иван",
			"fuzziness": 1,
			"fields": ["title"]
		}
	},
	"highlight": {
		"fields": {
			"title": {}			
		}
	}
}


Запрос #2, по которому находит:
GET /test/_search
{
	"query": {
		"multi_match": {
			"query": "иванов",
			"fuzziness": 1,
			"fields": ["title"]
		}
	},
	"highlight": {
		"fields": {
			"title": {}			
		}
	}
}

RESPONSE:
"highlight": {
                    "title": [
                        "<em>Иванова</em> Ольга Ивановна"
                    ]
                }
  • Вопрос задан
  • 991 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы