Solr3.3でクエリを実行するためにアルファベット順の範囲を実装しようとしています。ユーザーは、名前がAからGで始まるレストランのリストを取得したいと考えています。「frange」機能を試してみましたが、文字が含まれるすべてのフィールドが含まれています。名前が特定の文字で始まるレストランを取得したい。
「AからGまでのすべてのレストランを取得する」のようなもの:(A*とG*)ですが、(aとg)ではありません。
ありがとうございました
Solr3.3でクエリを実行するためにアルファベット順の範囲を実装しようとしています。ユーザーは、名前がAからGで始まるレストランのリストを取得したいと考えています。「frange」機能を試してみましたが、文字が含まれるすべてのフィールドが含まれています。名前が特定の文字で始まるレストランを取得したい。
「AからGまでのすべてのレストランを取得する」のようなもの:(A*とG*)ですが、(aとg)ではありません。
ありがとうございました
フィールドがトークン化されていないname:[a TO h]
場所を使用します。name
必要に応じて、このためのフィールドの別のコピーを作成します。
トークン化されたフィールドでこれを試すと、これらの文字の1つで始まる単語を含むすべての名前に一致します。また、範囲の最後の文字を「インクリメント」する必要があります。の場合はz
、に置き換え*
ます。たとえば、ユーザーが探している場合w
、z
クエリはである必要がありますname:[w TO *]
。
試しましたname:[a TO g]
か?