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