solr dismaxハンドラーを使用して「javawith(開発者またはプログラマー)」のようなクエリを指定するにはどうすればよいですか...
solr標準ハンドラーでは機能しますが、dismaxでは機能しません
dismax のデフォルトは OR (オプション) です。用語を必須にしたい場合は、それらの前にプラス記号を追加する必要があります。したがって、クエリに「java with」が含まれている必要があると仮定すると、「+java +withdeveloperprogrammer」のようなものが機能するはずです。
mm は、一致する必要があるオプションの句の数を設定するために使用されます。デフォルトは 100% であるため、必要な結果を得るにはおそらく微調整が必要です。ここにいくつかの例があります
dismax はそのようなクエリを処理するように設計されていないことを理解する必要があります。Dismax は、Lucene QueryParser 構文の簡略化されたバージョンをサポートしています。それを使用する場合、ユーザーはキーワードを提供するだけで、構文を気にする必要はありません。
dismax の詳細については、こちらを参照してください。dismax を使用してブールクエリをシミュレートできるようにする mm パラメータに関する部分に注意してください。
これは少し話題から外れているかもしれませんが、プログラマーと開発者の言葉は同義語であり、「プログラマーまたは開発者」タイプのステートメントの必要性を効果的に中和する同義語ファイルに配置するのが最善であるように思われます。それ以外の場合は、最小値を調整して一致させることが最も近い方法です。最善の方法は、EDISMAX を使用して新しいバージョンの solr に切り替えることです。これは、標準および dismax 構文をサポートするためです。