3

とにかく、いくつかのルールに基づいて、エンド ユーザー クエリをより複雑な solr クエリに変換する方法があるかどうか疑問に思っています。

たとえば、ユーザーが 32 インチ テレビを入力した場合、dismax クエリ パーサーを使用して、solr が次のようにこのユーザー クエリ文字列を処理できるようにします。

http://localhost:8983/solr/select/?q=32" television&defType=dismax

ただし、ユーザーが「販売中のテレビ」と入力した場合、トークン テレビを定期的に検索したいので、以下のように販売中フラグが true になります。

http://localhost:8983/solr/select/?q=name:televisions AND isOnSale:true

これは可能ですか?または、このロジックには事前検索フォームが必要であり、ユーザーがチェックボックスでセール品のみを希望することを明確に示す必要があります。

ありがとう。

4

3 に答える 3

0

ユーザークエリを変換することは十分に可能です。次の2つの方法でそれを行うことができます

  1. ユーザークエリをリッスンするサーブレットフィルターを実装して、それをsolrリクエストハンドラーにディスパッチする前に変換します。

  2. SOLR のクエリ パーサー プラグインを見て、標準のクエリ パーサーのような既存のものに基づいて実装し、変換ルールを適用するように変更します。

于 2012-10-19T03:12:14.170 に答える
0

インデックス全体で検索を実行し、ユーザーに選択させます。レビューが表示されたら、適切なビューでレンダリングします。製品が表示された場合は、さらに製品を検索することを申し出てください。

サムスン 32 のレビュー--続きを読む

オファーの LG 32 --このようなものをもっと見つけてください

オファーページでは、セール中の製品のフィルタリングなど、より多くのオプションを提供できます。

ドキュメントでグローバル ブースト フィールドを使用できます。たとえば、セール中の製品のスコアは です1.0が、在庫切れの製品のスコアは0.33です。新品のレビューはあり1.0、古い商品は少ないです。

于 2012-10-19T07:03:56.050 に答える
0

おそらく、誰かが isOnSale を二次的な並べ替えパラメータとして持つものを検索するように、検索を設定することができます。したがって、デフォルトでは、スコアでソートしてから isonsale でソートするか、単に isonsale でソートします。そうすれば、セール中の広告だけが一番上に表示される結果に、すべての「テレビ」広告が表示されます。

于 2012-10-20T00:00:15.293 に答える