問題タブ [solr-boost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1031 参照

join - サブドキュメントに基づく Solr スコアリング (親ブロック結合)

私は次のような構造を持っています...ストア内の製品としましょう。製品には評価があります。さらに、ユーザーは製品を (自分で) 評価することができます。300,000 個の製品と 50,000 個のユーザー評価 (各製品に対して) としましょう

質問 1: サブドキュメントは正しい選択ですか? SolrJですべてを追加していますが、それを行うための他の適切な方法は見つかりませんでした。

例として、次のコードをコピーしてコレクションに貼り付けることができます。

質問 2 (重要なもの): このインデックスにクエリを実行して、最初にユーザー評価 (存在する場合)、次に製品評価 (そして他のフィールドなど) によってドキュメントがスコア付けされるようにする方法作成日、ビュー、購入、...)? それは可能ですか?

私はそのようなことを調べていました:

これにより、ドキュメントが次の順序 (id) で返されます: 3、1、2

しかし、代わりに以下を返します:

0 投票する
1 に答える
17056 参照

solr - 完全一致を含むテキストに対する SOLR 完全一致ブースト

より良いタイトルが見つかりませんでした。可能であれば、最終的な提案に基づいて後で変更したいと考えています。

私の問題:

音楽アーティストのデータベースを取得しました。これらは次のようになります: 「dr. dre feat. akon」、「eminem & dr. dre」、「dr. dre feat. ll cool j」、「dr. dre」、「dr. dre feat. eminem & skylar gray」 . id と name の 2 つのフィールドしかありません。

デフォルトのスキーマ solr コアで、「q=dr. dre」というクエリを実行すると、結果は問題ありませんが、完全ではありません。次のようになります。

  • 博士。ドレ feat. エイコン
  • エミネム & Dr. ドレ
  • 博士。ドレ feat. クールなj
  • 博士。ドレ
  • ...

彼らはまったく同じスコアを得たことに注意してください。

私が望むのは、次のように、最初の結果として「dr. dre」を取得し、次に他のすべての結果を取得することです。

  • 博士。dre <<-- 博士。ドレが最初
  • エミネム & Dr. ドレ
  • 博士。ドレ feat. クールなj
  • 博士。ドレ feat. エイコン
  • ...

どうすればこれを達成できますか? (フィルター、トークナイザー、フィールドのコピーなどは重要ではありません。他のフォーラムで提案されているように、solr内のコードを変更することはできません)

ありがとう。

0 投票する
3 に答える
1077 参照

solr - dismaxで用語をダウンブーストする方法

全て:

私がやりたいことは、内容フィールドに「季節」が含まれるドキュメントを高く評価し、タイトル フィールドに「季節」が含まれるドキュメントを厳しく罰し、新しく作成されたドキュメントを後押しすることです。

Dismax(またはeDismax)でそれを行う方法を知りたいですか?ありがとう

0 投票する
1 に答える
165 参照

search - 結果がSOLRでブーストされたかどうかを確認する方法はありますか?

ユーザーが自分の好みを設定できる検索システムを持っているので、これらの好みに従ってSOLR検索の結果をブーストします。結果がブーストされたときに視覚的なフィードバックをユーザーに提供したいのですが、これを行うには、特定の結果がブーストされたかどうかを確認する方法を見つける必要があります。

これまでのところ、スコア値を使用することを考えていました。スコアが特定のしきい値を超えている場合、スコアがブーストされていることがわかりますが、スコアはクエリごとにかなり変化するように見えるため、設定方法がわかりませんそのようなしきい値。

結果でブースト前のスコアに何らかの形でアクセスできた場合、これを最終的なブースト後のスコアと比較して、結果がブーストされたことを知ることができますが、ブースト前のスコアは利用できないと思います (お願いします)間違っていたら訂正してください)。

これを達成する方法を他に考えている人はいますか?

0 投票する
1 に答える
409 参照

java - ルセン ブースティングは lengthNorm の類似性によってどのように影響を受けますか

以下を含む 2 つのドキュメントがあります。

doc_1 :one two three four five Bingo

doc_2 :Bingo one two three four five

それぞれ 2 つのフィールドでインデックスを作成しています。1 つのフィールドには最初の 5 つの用語が含まれ、2 つ目のフィールドには最後の用語が含まれています。

ブースティングの結果をよりよく確認するために、次の類似性を実装しました。

ブーストを適用せずにBingo、同じスコアを持つ両方のドキュメントの結果を検索します (予想どおり、意図したとおり)。ただし、フィールド ( ) の 1 つにブーストを適用すると、 doc_2のフィールドを含むフィールドがブーストされstart_field.setBoost(5)ても、両方のスコアは同じままです。Bingo

を削除するとcustomSimilarity、ブーストは期待どおりに機能します。

boostingが停止する理由lengthNormと、指定された上書きされた類似度でブースティングを機能させるにはどうすればよいですか?

0 投票する
0 に答える
546 参照

java - Solrの正確な単語の結果が最初に来ます

Solr-5.0.0 では、1 つのproduct_nameフィールドがあります。単語または複数の単語を検索すると、その単語を含む製品名が表示されます。完全一致が最初に来るようにするにはどうすればよいですか。

私のSchema.xmlは以下の通りです:

また、私のフィールド定義も以下に示します。

インデックス時またはクエリ時にブーストが必要ですか? それとも何か?

0 投票する
1 に答える
335 参照

solr - Solrをあまりブーストしない正確な単語

指定されたリンクの参照として

一例を試してみました。以下に示す私のschema.xml構成。

正確な単語検索はこれでうまく機能します。

しかし、完全一致ブーストを使用したあいまい検索では、期待した結果が得られません。これは私のクエリです

ヘルプはありますか?

0 投票する
2 に答える
1094 参照

solr - 特定の単語を含む Solr ネガティブ ブースト クエリの結果

item_nameSolr 5.0.0 でインデックス付けされたフィールドがあります。特定の単語を含むクエリ結果に負のブーストを与えるにはどうすればよいですか?

たとえば、次のitem_nameようなものがあるとします。

検索するとlaptop bags、次のような結果が返されます。

item_name次のような単語を含むにマイナスまたは低いブーストを与えるにはどうすればよいですか:

あり、なし、...

item_nameこれらの単語を含む が結果のトップにならないようにするためですか?

stopwordsNB:このコンテキストで何か関係がありますか?.