Я пытаюсь использовать API ElasticSearch для запроса базы данных, содержащей имена пользователей и идентификаторы #.
Я попытался указать каждый параметр, используя payload.casesense, как показано ниже:
"query": {
"bool": {
"must": [
{
"match_phrase": {
"payload.casesense": {
"query": "bob"
}
}
},
{
"match_phrase": {
"payload.casesense": {
"query": "11$111"
}
}
},
Я ожидаю получить все строки, содержащие эту комбинацию имени пользователя и идентификатора.
Похоже, что Elasticsearch игнорирует символ '$' или использует его в качестве символа подстановки для других знаков препинания. Мой запрос по существу разделяется на что-то вроде этого:
payload.casesense: "bob" AND payload.casesense: "11" AND payload.casesense: "111"
Чаще всего это означает, что я получаю совпадения на отметке времени, когда есть 11,111 секунд
Я пытался избежать $ как "11 \ $ 111", но это не сработало ... у кого-нибудь есть опыт работы с такого рода проблемами?