Я новичок в ElasticSearch и пытаюсь решить вопрос наилучшим из возможных способов.Я использую PHP, поэтому было бы полезно просмотреть его в этом формате, но я могу видеть его в любом ElasticSearch DSL.
Запрос, который мне нужен, в основном должен соответствовать любому или всем словам внесколько полей, скажем, например [title, description]
Но я также хочу включать только те документы, которые могут быть отфильтрованы по любому истинному случаю (например, если в документе есть «либо» field1 = true ИЛИ field2 = true)
Так, например, я ищу "Nike boots, которые зеленые"
Так что я хотел бы видеть результаты, которые будут иметь Nike boots и Green, чтобы я мог просто сделать
'query' => [
'query_string' => [
'fields' => [ 'title^6', 'description^3' ],
'query' => 'Nike boots that are green'
],
],
И я получаю весь контент, который имеет лучший результат.Что я действительно хочу добавить к своим результатам, так это, по сути, «фильтры» или «должны», что, если в документе есть поле «доступ» == 1 ИЛИ поле «разрешение» == 5, как я это сделаю.Теперь я знаю, что это должен быть логический тип.
Возможно ли иметь и запрос, и логический запрос в одном и том же поиске?