1

難しい質問をしているのは知っていますが、未来は大胆なものです!

質問: SOLRは、過去の検索とユーザーアクションを考慮に入れる方法を提供します。これにより、次に同じクエリが実行されたときに、ランキングが他のユーザーが選択したものに向かってわずかに変化しますか?

副次的な質問:結果フィールドの長さが正確なクエリに近くなり、冗長な単語が省略されるようにクエリを最適化する方法は?

バックグラウンド:

ユーザーが特定のワインを検索すると(たとえば、「シャトーラトゥール」)、solrは常に最初に次のような間違った結果を返します。

  1. シャトートリニアックコートデュルシヨンビレッジラテュールラトゥールドフランス
  2. ChâteauLatourBeerenausleseブランド-ヨントヴィル
  3. シャトーラトゥールグランヴァン-ポイヤック
  4. シャトー・ラトゥールàポメロール

あるべきもの:

理想的には、80%以上の人がこれらの単語を検索したときにこれを選択するという理由だけで、このクエリの最初のワインは3番目のワインである必要があります。「シャトー・ラトゥール・ポメロール」を探している人は間違いなく4番目のものを選ぶでしょう。

それについての私の理解:

単純に間違っている「Latour」の冗長性のために、1位はうまくランク付けされているようです。理由は不明ですが、2位は3位よりもランクが高くなっています。検索はこれらのワインのタイトルのみで行われ、他のフィールドは行われません。

結果に対するユーザーの過去のアクションをSOLRにフィードする方法についてのアイデアはありますか?ありがとうございました!

注:boose関連のテーマでの作業とプログラミングは素晴らしいです;)

4

2 に答える 2

2

SOLR は、過去の検索とユーザー アクションを考慮に入れる方法を提供するので、次に同じクエリが実行されたときに、ランキングが他のユーザーが選んだものに向かってわずかに変化しますか?

箱から出してはいけません。しかし、できることは、それらのピックを登録し、それに応じてドキュメントを更新することです (たとえば、フィールドを と呼びますpopularity)。残りはブーストを追加するのと同じくらい簡単です。

結果フィールドの長さが正確なクエリに近くなり、冗長な単語が省略されるようにクエリを最適化する方法は?

類似度アルゴリズムをデフォルト (TF-IDF)からカスタムのものに変更する必要があります。

ユーザーが特定のワイン (「シャトー ラトゥール」としましょう) を検索すると、solr は常に次のような間違った結果を最初に返します。

  1. シャトー トリニアック コート デュ ルシヨン ビレッジ ラトゥール ラトゥール ド フランス
  2. Château Latour Beerenauslese Brand - ヨントヴィル
  3. シャトー ラトゥール グラン ヴァン - ポイヤック
  4. ヴァン - ポイヤック シャトー ラトゥール ア ポムロール

Solr が手元にないので、 を使用して Lucene でシナリオをモデル化StandardAnalyzerしました。私が得ている順序は少し異なります.リンクされた例では、結果は4、1、2、3です(最後の2つは同じスコアです)。どのアナライザーを使用していますか?

于 2013-01-26T22:39:25.470 に答える
1
how to optimise queries so that the length of the result field is closer to the exact query? 

そのフィールドの はomitNormstrue に設定されていますか? 結果がソートされる順序を設定omitNorms=falseして試すことができますか? (私の推測は 4、3、2、1 です。) @Mike の回答はこちらを参照してください。

于 2013-01-27T05:36:22.993 に答える