3

SQLデータテーブルをロードしていて、さまざまな要件に応じて結果を取得したいと考えています。rangequeryに問題があります。私がこれを書いているとき:

$ curl -X GET 'http://localhost:9200/sample/new/_search?pretty=true' -d '
{ query:{range:{price_incl_tax:{gte:1000,lte:1500}}} }'

price_incl_tax=140.0000だけでなく、13500.0000また来ている結果。

4

1 に答える 1

3

あなたの場合、price_incl_tax文字列として保存されているようです。price_incl_taxフィールドが数値ではなく文字列として最初に追加されたために発生した可能性があります。を実行して、インデックスのフィールド タイプを確認できます。

$ curl -X GET 'http://localhost:9200/sample/new/_mapping?pretty=true'

Elasticsearch では、インデックスまたはタイプの作成時にマッピングを指定することで、個々のフィールド タイプを制御できます。

于 2012-05-14T12:08:38.183 に答える