Elasticsearch увеличивает поле при использовании query_string

#elasticsearch

#elasticsearch

Вопрос:

Возможно ли увеличить поле в запросе такой формы?

    "query": {
      "filtered": {
         "query": {
            "query_string": {
               "query": "the user's search query",
               "fields": ["name", "description"],
               "default_operator": "OR"
            }
         },
         "filter": {...}
      }
   }
  

Комментарии:

1. вы хотите увеличить только одно поле? нравится только «имя»? если вы добавите свойство boost ниже default_operator, вы сможете загрузить запрос

2. Я хочу увеличить только одно поле. Принятый ответ ниже делает именно это. 🙂

Ответ №1:

Да, просто добавьте синтаксис boost в поле (name ^ 5), например:

 "query": {
   "filtered": {
      "query": {
         "query_string": {
            "query": "the user's search query",
            "fields": ["name^5", "description"],
            "default_operator": "OR"
         }
      },
      "filter": {...}
   }
}
  

Кажется довольно ясным в документах:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html

Комментарии:

1. Если запрос соответствует полю с меньшим значением увеличения, т.Е. 2 (когда у нас есть другие поля со значением увеличения, равным 5) и не имеет совпадения ни в одном из других полей, запрос simple_query_string не возвращает никакого значения, сможете ли вы объяснить, почему?