問題タブ [dismax]
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.
solr - Solrをあまりブーストしない正確な単語
指定されたリンクの参照として
一例を試してみました。以下に示す私のschema.xml構成。
正確な単語検索はこれでうまく機能します。
しかし、完全一致ブーストを使用したあいまい検索では、期待した結果が得られません。これは私のクエリです
ヘルプはありますか?
solr - {!boost ...} dismax クエリ パーサーによる乗数
q={!boost ...}
dismax クエリパーサーで乗数を使用するにはどうすればよいですか?
標準クエリを使用すると、次のことができます。
ただし、dismax と同等のことをしようとすると、次のようになります。
次のエラーが表示されます。
オーバーライド{!boost ...}
内で指定すると、残りの部分が標準のクエリ パーサーを使用して解析されるようになると思います。dismax でどのように使用できますか?q
defType=dismax
q
{!boost ...}
注: Solr 4.10.4 を実行しています。
solr - Solr EDisMax の問題
インデックスからいくつかのドキュメントを取得しようとしていますが、うまくいきません。
こんな書類があります
気がつけば、タイトルに「こと」と書いてある。このフィールド タイプは「text_es」で、次のように記述されています。
次の検索を行う場合:
http://localhost:8983/solr/select/?q=thing&defType=edismax&qf=title^20.0+text^0.3
何も返しません。Solr 3.6 では動作しますが、Solr 5.2 では動作しません。Solarium (PHP) を使用してすべてを消費していますが、これを修正する方法がわかりません。
私が間違っていることは何ですか?
前もって感謝します!
mysql - 正確なフレーズ/部分文字列のSolr検索
私は自分の仕事にsolrを使用していますが、それは優れています。しかし、より精巧な検索結果を生成するのに苦労しています。
タイトル、ブランド、性別、カテゴリー(ドレスシューズ、ジャケットなど)で商品を探しています。ブランドは「Brands」DB テーブルに存在し、カテゴリと性別についても同じです。製品は、Brands、Categories、および Genders テーブルに外部キー化された「Products」DB テーブルに存在します。
私はこれらすべてを solr にロードしていますが、重み付けされたランク付けされた検索を問題なく実行できます。これにより、特定のフィールドで重み付けされた、最も類似した製品が得られます。次にやりたいことは、検索文字列の各フィールドから完全に一致するものを見つけることです。例えば:
検索文字列: 「Michael Kors ライト グリーン メンズ ドレス シューズ」
一致する必要があります:
ブランド:
- マイケルコース
色:
- ライトグリーン
- 緑
性別:
- 男性用
カテゴリー:
- ドレスシューズ
- 靴
次に、より限定的ではあるが分類された交差検索を行うことができます。例: [ライト グリーン] AND [マイケル コース] AND [ドレス シューズ OR シューズ] のすべての商品
ありがとう :)
search - Solr edismax パーサーと複数フィールド検索
edismaxクエリ パーサーを使用して、 Solr 4.10.3サーバーに対するユーザー クエリを処理します。
q.opパラメーターをANDに設定し、 mmパラメーターを完全に無効にして、100% の一致のみをヒットするようにしました。
ユーザーが 1 つのフィールドで複数の用語を検索すると、すべて正常に機能します。
たとえば、クエリfood:(beer cola Pizza)は、予期される動作である field foodのすべての用語beer、cola、およびPizzaを含むドキュメントのみを返します。
しかし、ユーザーが複数のフィールドで検索すると、Solr はq.op構成を忘れているようで、パラメーターがORに設定されているかのように動作します。
たとえば、クエリfood:(beer cola Pizza) AND color:(green yellow blue)は、フィールドfoodに単語beer、cola OR ピザのいずれかを含むすべてのドキュメントと、単語green、yellow ORのいずれかを含むドキュメントを返します。予想される動作ではないフィールドの色の青。
回避策は、次のように+ 演算子を使用して各用語を明示的に準備することです: food:(+beer +cola +pizza) AND color:(+green +yellow +blue)。
しかし、この演算子を Java-webapplication に追加する必要があります。これは一種の「ハード コード」機能です。ユーザーがq.op演算子をORに戻すことを決定した場合、ハードコードされた+が問題を引き起こすと思います。
構成によって期待される検索結果に到達する方法はありますか?
solr - 複数のフィールドに対する Solr dismax クエリ
複数のフィールドに対して solr dismax クエリを実行しようとしていますが、構文に少し混乱しています。
私のコアには、大量のポッドキャスト エピソードが含まれています。インデックスのフィールドは、EPISODE_ID、EPISODE_TITLE、EPISODE_DESC、および EPISODE_KEYWORDS です。
ここで、クエリを実行するときに、EPISODE_TITLE、EPISODE_DESC、および EPISODE_KEYWORDS フィールドでクエリ用語を検索し、フィールドごとに異なるブーストを使用したいと考えています。
したがって、「jedi」を検索すると、作成したクエリは次のようになります。
ただし、これは機能していないようです。ゼロのレコードが返されます。
以下のようにデフォルトのフィールドを配置すると、機能するようになりましたが、3 つのフィールドすべてを検索しても結果が得られないことを意味するため、これは一種のくだらないことです。
私がここに欠けているものはありますか?複数のフィールドを検索できると思ったのですが、「qf」パラメーターは、デフォルトのフィールド パラメーターを指定する必要がないことを意味すると思いましたか?
すべての助けに感謝します...
solr - 列の特定の順序で Solr で関連する検索結果を取得する方法。
Solr4.7.2 の結果を特定の関連する順序でグループ化し、solr 検索を行っているタイトル、概要、およびコンテンツの 3 つの列があるようにします。
現在、このクエリを実行してシンプルクエリパーサーを使用しています。
文字列「2016」を検索して結果を表示しています
ここで、タイトルの完全一致が最初に関連性の順序で表示されるように結果をグループ化し、次に完全一致が表示され、次に完全一致が表示され、次に完全一致完全一致が表示されるようにします。別のグループでは、スコアの低いタイル > 概要 > コンテンツを表示する必要があります。
例の場合。期待される結果は
qf=title^2 サマリー コンテンツを適用して dismax クエリ パーサーを使用しようとしましたが、結果が表示されません。
solr - Solr dismax クエリはデータを返しませんが、標準クエリはデータを返します
そのようなクエリを呼び出すと、結果が見つかりません:
http://localhost:8983/solr/somecore/select?q=title:king&wt=json&defType=dismax
ただし、次のようにクエリを呼び出します。
http://localhost:8983/solr/somecore/select?q=title:king&wt=json
予想どおり 9 つのドキュメントが見つかりました。
私はさまざまなことを試しました(たとえば、 qildcard: :、無駄に)。
誰かが私が間違っていることを説明する可能性のある問題やドキュメントを教えてくれたら.
問題があれば、schema.xml は次のようになります。