Фильтр подсказки Elasticsearch по определенному условию - PullRequest
1 голос
/ 09 июля 2019

Мой запрос как показано ниже

{
  "suggest": {
    "text": "iphame",
    "0-title": {
      "phrase": {
        "field": "title",
        "query": {
          "term": {
            "country_id": 123
          }
        }
      }
    },
    "1-subtitle": {
      "phrase": {
        "field": "subtitle"
      }
    }
  }
}

Я хочу, чтобы фильтр поисковых запросов основывался на стране , но приведенный выше запрос вызвал parsing_exception.

Как заставить запрос искать заголовок только для определенной страны?

| id | title                   | subtitle    | country_id |
|----|-------------------------|-------------|------------|
| 1  | Cheapest iPhone in town | Lorem ipsum | 123        |
| 2  | iOS 13 beta released    | Lorem ipsum | 25         |
| 3  | iPadOS public beta      | Lorem ipsum | 123        |

например. Я не хочу включать id = 2.

1 Ответ

0 голосов
/ 11 июля 2019

если вы отобразили country_id как число, то:

{ 
"query": { 
    "match": { 
            "country_id": 123 
        } 
    }
} 

если вы указали в качестве ключевого слова country_id, то:

{ 
"query": { 
    "match": { 
            "country_id.keyword": "123" 
        } 
    }
} 
...