Использование Lucene как инвертированного индекса - PullRequest
2 голосов
/ 10 марта 2011

Lucene имеет прекрасную возможность пошаговой индексации. Что обычно является болью при разработке ИК системы с нуля Я хотел бы знать, могу ли я использовать низкоуровневые API Lucene, чтобы использовать его только в качестве инвертированного индекса, то есть хранилища для инвертированных списков, информации о положении, частоты появления терминов, идентификаторов, полей и т. Д. ...

Суть в том, что я хочу реализовать свои собственные взвешивания и оценки документов. Я знаю класс Similarity, но он не дает той гибкости, которую я хочу.

1 Ответ

1 голос
/ 10 марта 2011

Вы, безусловно, можете создать свой собственный класс запросов, свои собственные оценщики и т. Д. Единственная проблема, с которой вы можете столкнуться - это если вам нужны глобальные данные. (Например, в tf / idf вам нужно знать термин «freq» и ​​«обратный doc freq».) Если для алгоритма скоринга нужны какие-то другие метаданные кросс-документа или кросс-термина, вы можете столкнуться с проблемами, поскольку Это отличный способ хранения этого.

Но в основном, если ваш алгоритм неопределенно tf / idf или работает только для одного документа, я думаю, у вас все будет в порядке.

...