2017-09-23 7 views
0

私は電子商取引アプリケーションのファセット機能に電力を供給するためにSolrを使用しています。 https://wiki.apache.org/solr/SimpleFacetParameters#Tagging_and_excluding_Filters大文字と小文字を区別しないファセットのSolrクエリが結果のために大文字小文字を維持

アプリケーション側では、UIでフィルタリングの経験を提供するためにSolrから返されたファセットを使用しており、URLはファセットをパラメータとして使用して構築されています。これらのパラメータを使用して、fqのファセットパラメータをさらにSolrに渡します。

これは、ファセットクエリーが機能しなくなった小文字に変更され、未定義のフィールドエラーが発生したため、URLが大文字と小文字を区別することを除いて、素晴らしいことです。

大文字と小文字を区別しないSolrどのようにしてFacetingをクエリできますが、ファセットを表示するために使用されている結果はまだ保持されますか?

答えて

1

最初に、の定義されていないフィールドについてエラーが発生しているようです。おそらく、エンドユーザーが、フィールドの検証を行わずに、使用するフィールドを指定して、フィルタリングまたはファセットを許可したいフィールドに対して指定させるべきではありません。

第2:ファセットを生成するために1つのフィールドを使用し、フィルタリング用に1つのフィールドを使用します。ファセットを提示したり、fqで使用するために同じフィールドを使用しなければならないということは何もありません。

フィルタリングに使用するKeywordTokenizerとLowercaseFilterのフィールドを持つことができます。次に、<copyField>を使用して、ファセット化に使用するフィールドのコンテンツを小文字のフィールドにコピーしてフィルタリングします。

+0

答えのためのThanx。私は、フィーリングのためにcopyfieldを使用し、ファセット化のために元の文字列フィールドを使用するかどうかを調べます。 – Krunal

+0

これをチェックして、提案した方法で実装しました。 – Krunal

関連する問題