Solr edismax не использует логические операторы И / ИЛИ - PullRequest
0 голосов
/ 31 октября 2018

Только что возникла проблема, когда наш solr 6.6, похоже, не использует логические операторы (И, ИЛИ, НЕ) в качестве операторов, а фактически ищет слова. Таким образом, результаты, которые должны иметь только несколько сотен просмотров, теперь имеют тысячи. Мы используем парсер edismax.

Solr Query: Apple И Google

"debug":{
"rawquerystring":"Apple AND Google",
"querystring":"Apple AND Google",
"parsedquery":"(+(DisjunctionMaxQuery((cm_city_t:apple | cm_credit_t:apple | cm_notes_t:apple | cm_state_t:apple | cm_country_t:apple | cm_description_t:apple | cm_caption_writer_s:Apple | cm_photographer_t:apple)) DisjunctionMaxQuery((cm_city_t:and | cm_credit_t:and | cm_notes_t:and | cm_state_t:and | cm_country_t:and | cm_description_t:and | cm_caption_writer_s:AND | cm_photographer_t:and)) DisjunctionMaxQuery((cm_city_t:google | cm_credit_t:google | cm_notes_t:google | cm_state_t:google | cm_country_t:google | cm_description_t:google | cm_caption_writer_s:Google | cm_photographer_t:google))))/no_coord",
"parsedquery_toString":"+((cm_city_t:apple | cm_credit_t:apple | cm_notes_t:apple | cm_state_t:apple | cm_country_t:apple | cm_description_t:apple | cm_caption_writer_s:Apple | cm_photographer_t:apple) (cm_city_t:and | cm_credit_t:and | cm_notes_t:and | cm_state_t:and | cm_country_t:and | cm_description_t:and | cm_caption_writer_s:AND | cm_photographer_t:and) (cm_city_t:google | cm_credit_t:google | cm_notes_t:google | cm_state_t:google | cm_country_t:google | cm_description_t:google | cm_caption_writer_s:Google | cm_photographer_t:google))",

"QParser":"ExtendedDismaxQParser",
"altquerystring":null,
"boost_queries":null,
"parsed_boost_queries":[],
"boostfuncs":null,
"filter_queries":["an_sas_s:\"Photo System \\- P1\" AND an_security_group_s:\"P1.Leaders\""],
"parsed_filter_queries":["+an_sas_s:Photo System - P1 +an_security_group_s:P1.Leaders"],

Вы можете видеть, что "и" включены в качестве условия поиска в наших полях. Я не уверен, почему он это делает. Я обнаружил, что если я опускаюсь до парсера dismax, он работает нормально. Я новичок в разработке и работе с solr, но я понимаю, что edismax - лучший анализатор для использования и должен быть намного более продвинутым. Может ли это быть проблема конфигурации с обработчиком ответа или что-то еще?

...