iamsaint
@iamsaint

Elasticsearch. . Как сделать поиск по полю, которое содержит дефис?

Добрый день.
Мой вопрос в заголовке. Пример поля, по которому нужно найти запись: '1111-2222-3333-4444'
  • Вопрос задан
  • 3450 просмотров
Пригласить эксперта
Ответы на вопрос 1
MintTea
@MintTea
GDRP5MbKvBE.jpg

Если вас интересует аналог такого запроса:
SELECT * FROM index_name WHERE field_name='1111-2222-3333-4444'


То необходимо сначала задать mapping для этого поля:
curl -XPUT 'http://localhost:9200/index_name/type_name/_mapping' -d '
{
    "properties" : {
        "field_name" : {"type": "string", "index": "not_analyzed"}
    }
}
'


После чего записи можно найти, используя фильтр "term":
curl -XGET 'http://localhost:9200/index_name/type_name/_search?pretty' -d '{
    "filter": {
        "term": {
            "field_name": "1111-2222-3333-4444"
        }
    }
}'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 1 000 000 до 1 200 000 ₽
от 300 000 до 500 000 ₽
Сима-ленд Екатеринбург
от 120 000 до 250 000 ₽
01 мая 2024, в 10:12
15000 руб./за проект
01 мая 2024, в 10:00
2500 руб./за проект
01 мая 2024, в 09:59
5000 руб./за проект