按价格和日期进行范围搜索对我不起作用。而且我不知道在哪里寻找映射或请求中的错误。 我在文档中为我的字段进行了映射:
#a=[' ',' ',.....] ('a' has 8 classification of fishes)
for i in range(8):
listing = os.listdir(path+'/'+(a[i]))
a[i+1] = np.array([np.array(cv2.imread(path+'/'+a[i]+'/'+file)).flatten()for
file in listing])
这是我按日期提出的要求:
"mappings": {
"properties": {
"sales" : {
"type" : "nested",
"properties" : {
"from" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss"
},
"price" : {
"type" : "double"
},
"to" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss"
}
}
}
}
}
答案 0 :(得分:1)
您需要指定要搜索的字段。对于您的情况,您想按from
嵌套对象下的to
和sales
范围进行过滤。
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "sales",
"query": {
"bool": {
"filter": [
{
"range": {
"sales.from": { #field for from date
"gte": "2019-09-01 12:37:55"
}
}
},
{
"range": {
"sales.to": { #field for to date
"lte": "2019-09-02 13:38:04"
}
}
}
]
}
}
}
}
]
}
}
}