問い合わせを学習する前に、私はデータを準備し、古いルールでした
#Filter查询
#filter是不计算相关性的,同时可以cache.因此,filter速度要快于query.
POST /lib5/items/_bulk
{"index":{"_id": 1}}
{"price": 40,"itemID": "ID100123"}
{"index":{"_id": 2}}
{"price": 50,"itemID": "ID100124"}
{"index":{"_id": 3}}
{"price": 25,"itemID": "ID100124"}
{"index":{"_id": 4}}
{"price": 30,"itemID": "ID100125"}
{"index":{"_id":5}}
{"price": null, "itemID": "ID100127"}
クエリの価格(40フィルタデータの価格)40
25と40の空室検索
注意:
私たちは、私は、ダイナミックマッピングを使用し、データを追加する要求を投稿し、自動的に作成されたマッピング、我々はマッピングを見ることができます
注:私たちは、アイテムIDタイプのテキストを見て、言葉が「ID100123」大文字が「id100123」を小文字に変換されるとき、テキストは、単語のデフォルトのタイプです
私たちは、小文字を変更しようとし、以下のようにOKであることが判明:
クエリ:
####2.8.1简单的过滤查询
#term
GET /lib5/items/_search
{
"post_filter":{
"term":{ "price":40}
}
}
#terms
GET /lib5/items/_search
{
"post_filter":{
"terms":{ "price": [25,40]}
}
}
GET /lib5/items/_search
{
"post_filter":{
"term": { "itemID": "ID100123"}
}
}
GET /lib5/items/_search
{
"query": {
"bool": {
"filter": [{ "term": { "price": 40}}]
}
}
}
GET /lib5/items/_search
{
"query": {
"bool": {
"filter": [{
"terms": { "price": [25,40] }
}]
}
}
}
GET /lib5/items/_search
{
"query": {
"bool": {
"filter": [{
"term": { "itemID":"5100123" }
}]
}
}
}