Правильно ли вычисляется показатель 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
Uh oh!
There was an error while loading. Please reload this page.
-
Здравствуйте.
Столкнулись с неочевидным ранжированием результатов поиска. Есть запрос с 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