В настоящее время я следую веб-учебнику, и когда я запускаю:
GET /product/_doc/_search
{
"query": {
"range": {
"in_stock": {
"gte": 1,
"lte": 5
}
}
}
}
, я получаю кучу записей, в том числе:
{
"_index" : "product",
"_type" : "_doc",
"_id" : "366",
"_score" : 1.0,
"_source" : {
"name" : "Eggplant - Baby",
"price" : 58,
"in_stock" : 1,
"sold" : 187,
"tags" : [ ],
"description" : "Mauris sit amet eros. Suspendisse accumsan tortor quis turpis. Sed ante. Vivamus tortor. Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.",
"is_active" : false,
"created" : "2016/01/03"
}
},
Когда я запускаю:
GET /product/_doc/_search
{
"query": {
"range": {
"created": {
"gte": "2010/01/01"
}
}
}
}
по одному и тому же набору данных, я получаю:
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}
Почему я получаю ноль хитов из моего запроса?Я понимаю, что поиск сканирует записи с созданной датой, превышающей 2010/01/01, поэтому он не должен совпадать хотя бы с id
366?
Редактировать:
Вотмои сопоставления - похоже, тип даты:
{
"product" : {
"aliases" : { },
"mappings" : {
"_doc" : {
"dynamic" : "false",
"properties" : {
"created " : {
"type" : "date",
"format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd"
},
"description" : {
"type" : "text"
},
"discount" : {
"type" : "integer"
},
"in_stock" : {
"type" : "integer"
},
"is_active" : {
"type" : "boolean"
},
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword"
}
}
},
"price" : {
"type" : "integer"
},
"sold" : {
"type" : "long"
},
"tags" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword"
}
}
}
}
}
},
"settings" : {
"index" : {
"creation_date" : "1551151769380",
"number_of_shards" : "5",
"number_of_replicas" : "1",
"uuid" : "3YTYcG-9TPeT_3jXfX5IMA",
"version" : {
"created" : "6060199"
},
"provided_name" : "product"
}
}
}
}