В Apache Solr позицията означава ли семантично същото като ред?

В Apache Solr, ако имам две полета от два различни документа:

поле 1: "том сойер беше герой в Хъкълбери фин"

поле 2: "персонаж в Хъкълбери Фин е Том Сойер"

* имайте предвид, че за простота полетата не изглеждат токенизирани, както е показано тук, но те са в индекса

И търся „знак в Хъкълбери фин“, (също токенизирано) поле 2 ще получи по-висок резултат, защото не само токените са в същия ред в полето, както са в заявката, но и позицията на фразата в текста е в началото както в полето, така и в заявката?


person the beest    schedule 07.08.2016    source източник


Отговори (1)


Не. Позициите не се използват за изчисляване на резултата, с изключение на позициите една спрямо друга, ако използвате заявка с фраза. Във вашия пример те са еднакви - така че резултатът трябва да е идентичен.

За да избегнете публикация за всеки подобен въпрос, който трябва да имате, вероятно е по-добре да се обърнете към Practical Scoring Formula Lucene, която показва как действително се изчислява резултатът за сходството на TFIDF. Не забравяйте, че изчислението на сходството може да се включва, така че ако използвате различно сходство, изчислението ще бъде различно.

Тези елементи също са лесни за тестване сами - просто индексирайте два документа с текста и подайте заявка с debugQuery, зададено на true - и ще видите как всеки елемент допринася за резултата.

person MatsLindh    schedule 07.08.2016