iamsaint
@iamsaint

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

Добрый день.
Мой вопрос в заголовке. Пример поля, по которому нужно найти запись: '1111-2222-3333-4444'
  • Вопрос задан
  • 3500 просмотров
Пригласить эксперта
Ответы на вопрос 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"
        }
    }
}'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 300 000 до 400 000 ₽
LIME Москва
от 280 000 до 350 000 ₽
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект