Я столкнулся с ошибкой поиска - вам нужна помощь. У меня есть индекс статьи с полями id, title, artist, genre. Когда я запускаю этот запрос я получаю нулевой конечные результатыElasticSearch - поиск не выполняется для двух строковых полей
POST/d3acampaign/статьи/_search
{
"query": {
"filtered": {
"query": {
"match": {"genre": "metal"}
},
"filter": {
"term": {"artist": "Somanath"}
}
}
}
}
Но если я изменить запрос на что-то вроде - POST/d3acampaign/статьи/_search
{
"query": {
"filtered": {
"query": {
"match": {"genre": "metal"}
},
"filter": {
"term": {"id": "7"}
}
}
}
}
я получаю следующий результат -
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.4054651,
"hits": [
{
"_index": "d3acampaign",
"_type": "article",
"_id": "7",
"_score": 1.4054651,
"_source": {
"id": "7",
"title": "The Last Airbender",
"artist": "Somanath",
"genre": "metal"
}
}
]
}
}
Разъяснение - Я уведомлен cing search failing в случае, если я пытаюсь использовать строку, например. исполнитель, название
Из [официальный документ] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html): «И HTTP GET, и HTTP POST могут использоваться для выполнения поиска с телом. Поскольку не все клиенты поддерживают GET с телом, POST также разрешен». – Val
@Val Да, вы правы. Спасибо:) – chengpohi
Я попытался преобразовать индекс 'not_analyzed', все еще сталкиваясь с той же проблемой. пожалуйста, подтвердите, правильно ли настроено сопоставление, – Guruprasad