Я хочу, чтобы часть запроса считалась фразой. Например, Я хочу выполнить поиск «Можете ли вы показать мне документы для индустрии гостеприимства и авиаперевозок?» Здесь я хочу, чтобы отрасль авиаперевозок рассматривалась как фраза. Я не нахожу таких настроек в multi_match. Даже когда мы пытаемся использовать запрос multi_match, используя "Можете ли вы показать мне документы для индустрии гостеприимства и \" авиапромышленности \ "". Анализатор по умолчанию разбивает его на отдельные токены. Я не хочу изменять настройки моего анализатора. Также я обнаружил, что мы можно сделать это в simple_query_string, но это приводит к тому, что мы не можем применить параметр фильтра, как в логическом запросе multi_match, потому что я хочу применить фильтр и к определенным элементам.
search_text = «Можете ли вы показать мне документы для индустрии гостеприимства и авиаперевозок?» Теперь я хочу передать «Отрасль авиаперевозок» в качестве фразы для поиска в моем проиндексированном документе по 2 полям. хорошо, скажем, у меня есть такой код.
If filter:
qry={
“query":{
“bool”:{
“must”:{
"multi_match":{
"query":search_text,
"type":"best_fields",
"fields":["TITLE1","TEXT"],
"tie_breaker":0.3,
}
},
“filter”:{“terms”:{“GRP_CD”:[“1234”,”5678”] }
}
}
else:
qry={
"query":{
"multi_match":{
"query":search_text',
"type":"best_fields",
"fields":["TITLE1",TEXT"],
"tie_breaker":0.3
}
}
}
'Но потом я понял, что этот код не обрабатывает отрасль авиаперевозок как фразу, хотя я передаю строку для поиска, подобную этой: «Можете ли вы показать мне документы для индустрии гостеприимства и \" отрасли авиаперевозок »»
В соответствии с документом эластичного поиска я узнал, что есть этот запрос, который может справиться с этим.
qry={"query":{
"simple_query_string":{
"query":"Can you show me documents for Hospitality and \"Airline Industry\"",
"fields":["TITLE1","TEXT"] }
} }
Но теперь моя проблема в том, что, если пользователь хочет применить фильтр ... с запросом фильтра, как указано выше, я не могу передать фразу, а логический запрос невозможен с помощью simple_query_string '
simple_query_string
- один из правильных вариантов, но какие фильтры вы не сможете применить при использованииsimple_query_string
. Можете ли вы объяснить, например, - person Nishant   schedule 06.06.2020