1

私はElasticsearchを初めて使用し、ビデオを検索するための検索提案を作成しています。現在、次のクエリを使用しています(Elastica Libraryを使用しているため、印刷された配列にすぎません)

[クエリ] => 配列
    (
        [クエリ文字列] => 配列
            (
                [クエリ] => Mac OS
                [default_field] => タイトル
            )

    )


[フィールド] => 配列
    (
        [0] => タイトル
        [1] => ビデオ ID
    )

[から] => 0
[サイズ] => 5

これにより、「Mac OSx」「Mac OS Lion」などの静かな関連結果が得られます.私の質問は、インデックス付きの値に独自のスコアまたは評価を追加するにはどうすればよいですか..たとえば、誰かが「Mac OS Lion」を検索した場合、人気度を 1 上げて、次回はトップになるようにします。

PS私はElasticSearch Termsも初めてで、おそらくまだ解決策を見つけることができない理由です.

4

1 に答える 1

2

ElasticSearch は、次のようなドキュメントまたは用語のスコアを上げるさまざまなメカニズムを提供します。

一般的な考え方は、1 つまたは複数のフィールドの値に応じてドキュメントのスコアを上げるというものです。あなたの場合、更新され、ドキュメントの価値を高めるために使用される「人気」フィールドが必要になる場合があります。コードを内部でどのように実装するかによって異なります。

このチュートリアルでは、同様の概念である "Featured Results" を実装する方法を示します。彼らはコンスタント スコア クエリを使用しました。

于 2013-02-20T03:36:22.867 に答える