索引付けと検索のフレームワークを探して Web をブラウジングしていたところ、Solr に出会いました。絶対に必要な機能は、ヒットが含まれるフィールドに基づいて結果をブーストすることです。
小さな例:
次のようなレコードを考えてみましょう:
<movie>
<title>The Dark Knight</title>
<alternative_title>Batman Begins 2</alternative_title>
<year>2008</year>
<director>Christopher Nolan</director>
<plot>Batman, Gordon and Harvey Dent are forced to deal with the chaos unleashed by an anarchist mastermind known only as the Joker, as it drives each of them to their limits.</plot>
</movie>
title
たとえば、alternative_title
とフィールドを 1 つの検索フィールドに結合したいのですがplot
、Solr/Lucene のドキュメントとチュートリアルを見ればそれほど難しくありません。
ただし、ヒットした映画はヒットした映画よりもスコアが高く、ターン中の映画はフィールドのヒットよりもスコアが高くなることも望んでtitle
いalternative_title
ますplot
。
XML でこの種のスコアリングを示す方法はありますか、それとも独自のスコアリング アルゴリズムを開発する必要がありますか?
また、私が示した例は架空のものであり、実際のデータにはおそらく 100 以上のフィールドが含まれることにも注意してください。