2017-01-28 12 views
0

elasticsearch内の特定の文書の特定の単語をどのようにして増やすことができますか?elasticsearch内の特定の文書の特定の単語を強調する

たとえば、次のドキュメントでは、ユーザーの検索ログと結果のクリックに基づいて計算された重みフィールドを使用して「goodwords」フィールドの単語を強調したいと考えています。上記のクエリのために

** Document 1 ** 
{ 
    "title": "divergent", 
    "year": "2014", 
    "goodwords": [ 
     { "word": "scifi", "weight": 1.5 }, 
     { "word": "future", "weight": 1.1 } 
    ] 
} 

** Document 2 ** 
{ 
    "title": "insurgent", 
    "year": "2015", 
    "goodwords": [ 
     { "word": "scifi", "weight": 0.8 }, 
     { "word": "future", "weight": 1.5 }, 
     { "word": "fiction", "weight": 1.8 } 
    ] 
} 

答えて

0

我々は、インデックス時間後押しに比べて高め例のクエリ時間のboosting.Mostlyを高めるとインデックス時間クエリ時間を持っています。 上記の場合、マッピングを変更する必要があります。私はあなたにリンクを提供し、問題がある場合はお知らせください。

Elasticsearchのドキュメントのboost mapping parameterを参照してください。

+0

特定のフィールドを強調するのは簡単です。私が望むのは、ドキュメント内の特定の値やキーワードを増やすことです。たとえば、キーワード「scifi」は、最初の文書では1.5の重み付けで、2番目の文書では0.8の重み付けでブーストしなければならないでしょう。 –

+0

これは取得できましたが、それは自己であり、すべての文書を指定することはできません。 –

関連する問題