1

indextankrubygem を使用して、このような投稿にインデックスを付ける場合

indexes.document(post.id).add({:title=> post.title, :text=> post.body})

title一致が一致の前に返されるように、クエリはどのように見えるべきですかbody。これを行う:

indexes.search("title:#{query} OR text:#{query}", :snippet=> :text)

新しいものから古いものの順に並べられたすべての一致を返します。

ありがとうございました。

4

1 に答える 1

2

あなたのスコア関数 0 は何と定義されていますか? デフォルトでは「-age」で、最新のものを意味します。テキストの関連性については、スコアリング関数をテキストの関連性を意味する「rel」に置き換えることができます。

すべてのタイトルの一致が他のものよりも確実に優れていることを保証する方法はわかりませんが、クエリのタイトル部分に「^10」を追加することで、タイトルを大幅に「ブースト」できます。次に例を示します。

title:potter^10 text:whatever

これは、タイトルの一致が「テキスト」フィールドの一致よりも 10 倍高いことを意味します。必要に応じて、数字を「10」上げることができます。

于 2012-02-10T04:22:29.533 に答える