2016-05-19 21 views
0

CloudSearchの番号でワイルドカードクエリを実行する必要があります。テキストデータでそれをするのは簡単ですが、> xy *ですが、数値フィールドに対して同じクエリを実行している間はエラーが発生します。私はクエリーパーサーとしてluceneを使用しています。他のパーサーを使用していない場合は、お勧めします。CloudSearchでのワイルドカードの検索

答えて

0

ワイルドカード検索は、数値フィールドではサポートされていません。あなたの質問から、どのような結果が期待されているのかは不明です。

あなたは番号の範囲に一致するように期待しているなら、あなたは、範囲クエリを使用することができます:numericFieldがより大きいまたは330に等しく、以下である場合

numericField:[330 TO 339]

は書類と一致します一方、1桁目と2桁目が3桁のすべての文書を検索する場合は、数字の文字列表記を含む別のテキストフィールドが必要になります。

numericFieldAsText:33*

これは、それが構造化されたクエリである場合は、(and (prefix field=field_name 'xy'))として、フィルタクエリを使用することができます33331333330001など

+0

私は数値フィールドのテキスト表現を持っていません。数値の文字列表現を持つ別のフィールドを追加することなく数値フィールドで同じ結果を得る方法はありますか – sidd607

0

にマッチします:あなたはこのようにそれを検索します。 しかし、単純なクエリの場合は、検索でxy *を直接使用することができます。

関連する問題