Правильно ли вычисляется показатель lcs при запросах с OR? #2773
Unanswered
dmitry-suffi
asked this question in
Q&A
Replies: 1 comment
-
Согласен. Похоже, что причина в этом. Дописал в issue и пометил его как bug. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Здравствуйте.
Столкнулись с неочевидным ранжированием результатов поиска. Есть запрос с OR, одна из частей условия которого поиск по списку слов с кворумом, вторая - точные формы этих слов.
Есть несколько документов, причем один из них соответствует обоим условиям, а другие - только одному из них (с кворумом). Но в ранжировании документ, соответствующий обоим условиям, оказывается ниже, чем документы, соответствующие только одному из условий.
Краткий пример для воспроизведения такой:
То есть документ
black big cats
, подходящий под обе части условия и содержащий все три слова, получает lcs и соответственно вес 1.Документ
black big cat
, подходящий только под первую часть условия, получает lcs и вес 3.Документ
black big dog
, подходящий только под первую часть условия, получает lcs и вес 2.По запросу '("black big cats"/2)' документ
black big cats
получает lcs и вес 3.По запросу '(=black =big =cats)' документ
black big cats
также получает lcs и вес 3, причем находится только этот документ.Но по объединению условий в OR lcs = 1, хотя логичнее было бы также ожидать 3.
Если же создать таблицу без опции morphology='stem_en', то результаты становятся ожидаемыми:
Однако опция morphology нужна для других запросов, отказаться от нее нельзя. Есть ли какие-то другие варианты решения этой проблемы? Какие-то опции или изменение запроса?
Такое значение lcs выглядит как баг, возможно связано с этим
Beta Was this translation helpful? Give feedback.
All reactions