Compassの代わりにSolrを使用するように、当社の検索機能を書き直しています。古いコードでは、CompassQueryBuilder.CompassQueryStringBuilderを使用して、キーワードのリストからクエリを作成しています。キーワードにはスペースが含まれている場合があります。例:「johnsmith」、「tomjones」。
この機能を複製するためにSolrで使用できる既存の機能はありますか?
Compassの代わりにSolrを使用するように、当社の検索機能を書き直しています。古いコードでは、CompassQueryBuilder.CompassQueryStringBuilderを使用して、キーワードのリストからクエリを作成しています。キーワードにはスペースが含まれている場合があります。例:「johnsmith」、「tomjones」。
この機能を複製するためにSolrで使用できる既存の機能はありますか?
SolrJについて私が知っている最も近いものは、solrj-criteriaプロジェクトです。しかし、現在はメンテナンスされていないようです。
Solrは、さまざまなクエリおよびインデックス作成オプションを提供します。したがって、スペースを含むキーワードを含むフィールドは、構成ファイルでカスタムタイプを定義することで可能になります(ここを参照)。カスタムQueryParserを指定することにより、間隔を空けたキーワードを含むクエリを実行できます。(ここを参照)
Solr自体はAPIでQueryStringBuilderを提供していません。実際、すべての対話はHttpを介してメッセージを投稿することによって行われるため、Solr自体はAPIクラスをまったく提供していません。Java、.NET、PHPなどのクライアントライブラリがあります。SolrNetAPIには、CompassQueryStringBuilderと非常によく似たSolrMultipleCriteriaQueryがあります。