2012-01-16 1 views
0

Solr 3.3でクエリを実行するためにアルファベットの範囲を実装しようとしています。 ユーザーは、名前が(たとえば)AからGで始まるレストランのリストを取得したいと考えています。 "frange"機能で試しましたが、文字があるすべてのフィールドが含まれています。私は、特定の手紙でSTARTに名前を付けるレストランを手に入れたいです。以下のようなSolr ALPHABETICAL RANGE QUERY

何かが:(*およびG *)ではなく(グラム): "Gへのすべてのレストラン"。

答えて

2

name:[a TO h]ここで、nameフィールドはトークン化されていません。必要に応じて、このフィールドの別のコピーを作成します。

あなたはトークン化フィールドでこれをしようとすると、それはこれらの文字のいずれかで開始単語を含むすべての名前と一致します。また、範囲の最後の文字を「インクリメント」する必要があります。 zの場合は、*に置き換えてください。たとえば、ユーザがwzを検索している場合、クエリはname:[w TO *]である必要があります。

0

あなたはname:[a TO g]を試してみましたありがとう!

+0

私はこれがOPが望んでいることをしないと確信しています。 –

+0

はい、試しましたが、それらの文字で始まる結果は取得しません。代わりに、それらの文字を含むすべての単一の「名前」に一致します – mafelstroh