Я хочу сделать точные соответствия идентификаторов в поле doc. Я сопоставил поля для индексации их not_analyzed
, но, похоже, в запросе каждый термин является токенизом или, по крайней мере, нижним. Как сделать запрос также not_analyzed
? Используя ES 1.4.4, 1.5.1 и 2.0.0Как заставить запрос «условия» Elasticsearch быть not_analyzed
Вот документ:
{
"_index": "index_1446662629384",
"_type": "docs",
"_id": "Cat-129700",
"_score": 1,
"_source": {
"similarids": [
"Cat-129695",
"Cat-129699",
"Cat-129696"
],
"id": "Cat-129700"
}
}
Вот запрос:
{
"size": 10,
"query": {
"bool": {
"should": [{
"terms": {
"similarids": ["Cat-129695","Cat-129699","Cat-129696"]
}
}]
}
}
}
Приведенный выше запрос не работает. Если я удаляю кепки и тире из идентификаторов doc, он работает. Я не могу сделать это по многим причинам. Есть ли способ сделать похожие объекты not_analyzed
как поля doc?
Да вы точно правильно. Я случайно отключил это сопоставление, поэтому я думал, что это было, но это не так. Спасибо – pferrel
Эй, спасибо за смысл, очень круто! – pferrel