私がSOLRに送信する検索クエリは次のとおりです。
?q=iphone 4s&sort=sold desc
デフォルトでは検索はうまく機能しますが、たとえば、あるフィールドで結果を並べ替えたい場合に問題が発生します。販売済み-販売された製品の数。
SOLRは、(iphone 4s)または(iphone)または(4s)のすべての結果を検索します。したがって、フィールドで並べ替えを適用すると、「販売済み」の最初の結果は「iPhone3GS...」になります。これは問題です。
最初にフレーズ( "iphone 4s")で結果を表示し、次に残りの結果を必要とします。すべて販売順に並べ替えられます。
したがって、質問は次のとおりです。
このようなクエリを実行することは可能ですか?
q=iphone 4s&sort={some algoritam for phrase results first} desc, sold desc
または、クエリアナライザーを設定してこれを実行できますか?
現時点では、これはSOLRに2つのリクエストを送信することで解決されます。最初は「iphone4s」というフレーズで、これが0の結果を返す場合は、フレーズなしで2番目のリクエストを実行します-iphone4sのみ。