Расчет Lucene idf - это количество документов в индексе из всех полей или просто из поля в запросе - PullRequest
0 голосов
/ 22 сентября 2018

Запутался, как IDF рассчитывается в Lucene при чтении документов Elastic.Это две части для расчета IDF:

https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html

Как часто термин встречается во всех документах в коллекции?Чем чаще, тем меньше вес.Общие термины, такие как или, или мало что дают для релевантности, так как они встречаются в большинстве документов, в то время как необычные термины, такие как astic или hippopotamus , помогают нам увеличить наиболее интересные документы.Частота обратных документов рассчитывается следующим образом:

idf(t) = 1 + log ( numDocs / (docFreq + 1)) 

Частота обратных документов (idf) термина t представляет собой логарифм числа документов в индексе, деленный на количество документов, содержащих термин.

https://www.elastic.co/guide/en/elasticsearch/guide/current/relevance-intro.html Частота обратных документов Сколько раз термин медовый месяц появлялся в поле твит всех документов в индексе?

Вот мой вопрос: Допустим, я проиндексировал 3 документа с 5 полями, где f1, f2, f3 находятся в doc1, f2, f3, f4 находятся в doc2, а f3, f4, f5 -в док5.Мой запрос к полю f2.

numDocs - это все документы (# -3) или только документы, где присутствует поле (# -2)?docFreq - это кажется очевидным.Я думаю, что это число документов с полем f2, где этот термин совпадает.Это может быть 1 или 2.

Надеюсь, они включают текст в поле , когда они все документы.Спасибо

...