私は現在、Zend_Search_Luceneを使用して、現在約1000程度の多数のドキュメントのインデックス作成と検索を行っています。私がやりたいのは、エンジンがドキュメントのヒットをスコアリングする方法を現在のデフォルトから変更することです。
Zend_Search_Luceneは、ドキュメント内のヒット数の頻度をスコアリングするため、PHPという単語が10回一致するドキュメントは、PHPが3回一致するドキュメントよりもスコアが高くなります。私がやろうとしているのは、それらのキーワードのヒットに応じて、いくつかのキーワードとスコアを渡すことです。例えば
インデックスに対して検索するPHP、MySQL、Javascript、HTML、CSSの5つのキーワードを渡します。1つのドキュメントにはこれらのキーワードとの一致が3つあり、1つのドキュメントには4つの一致がすべてあり、4つの一致のスコアが最も高くなります。ドキュメント内のそれらの単語のインスタンスの数は私には関係ありません。
これで、Zend_Search_Lucene_Search_Similarityをざっと見てきましたが、これを使用して自分が求めていることを達成する方法がわからない(または明るい)ことを告白する必要があります。
Luceneを使用して私がやりたいことは可能ですか、それとももっと良い解決策がありますか?