В настоящее время я использую Zend_Search_Lucene для индексации и поиска по ряду документов, которые в настоящее время находятся на отметке 1000 или около того. То, что я хотел бы сделать, это изменить способ подсчета количества попаданий в документе с текущего значения по умолчанию.
Zend_Search_Lucene оценивает частоту количества обращений в документе, поэтому документ, имеющий 10 совпадений со словом PHP , получит оценку выше, чем документ, только с 3 совпадениями PHP . То, что я пытаюсь сделать, это передать несколько ключевых слов и оценку в зависимости от хитов этих ключевых слов. например,
Я пропускаю 5 ключевых слов: PHP , MySQL , Javascript , HTML и CSS , которые Я ищу по индексу. Один документ содержит 3 совпадения с этими ключевыми словами, а один документ содержит все 4 совпадения, причем 4 совпадения получают наибольшее количество баллов. Количество экземпляров этих слов в документе меня не касается.
Теперь я быстро взглянул на Zend_Search_Lucene_Search_S Similarity, однако должен признаться, что я не уверен (или не слишком умен) в том, чтобы знать, как использовать это для достижения того, к чему я стремлюсь.
Возможно ли то, что я хочу сделать, используя Lucene, или есть лучшее решение?