我已经使用ES一段时间了,但今天不能正常工作。我重新创建了我的docker-compose(可以在那里smt?),这些是我在ES中的数据:
编辑:这是我的输入(这里我_source = False
)
{'mappings': {'doc': {'_all': {'enabled': False}, 'dynamic': False, 'properties': {u'string': {'index': 'not_analyzed', 'type': 'string'}, '_time': {'index': 'not_analyzed', 'type': 'date'}, u'float': {'index': 'not_analyzed', 'type': 'float'}, u'datetime': {'index': 'not_analyzed', 'type': 'date'}, u'boolean': {'index': 'not_analyzed', 'type': 'boolean'}, u'integer': {'index': 'not_analyzed', 'type': 'long'}}, '_source': {'enabled': False}}}}
架构:
{
"07533744-b0e6-4a2f-8e94-1f7501589fee": {
"aliases": {},
"mappings": {
"doc": {
"dynamic": "false",
"properties": {
"_time": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
"boolean": {
"type": "boolean"
},
"datetime": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
"float": {
"type": "float"
},
"integer": {
"type": "long"
},
"string": {
"type": "string",
"index": "not_analyzed"
}
}
}
},
"settings": {
"index": {
"creation_date": "1465555846775",
"number_of_shards": "5",
"number_of_replicas": "1",
"uuid": "-nZGMXbFRryraL0gPnr80g",
"version": {
"created": "2030399"
}
}
},
"warmers": {}
}
}
带match_all
查询的文档(部分):
{
"took": 15,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 10,
"max_score": 1,
"hits": [
{
"_index": "07533744-b0e6-4a2f-8e94-1f7501589fee",
"_type": "doc",
"_id": "49279857-84a7-4570-ad8e-9051079ca0ac",
"_score": 1,
"_source": {
"doc": {
"string": "1",
"_time": "2016-06-10T12:50:59.509593",
"float": 1.1,
"datetime": "2016-06-10T12:50:59.497620",
"boolean": false,
"integer": 1
}
}
},
现在查询:
{"query": {"bool": {"must": [{"match": {"integer": 1}}]}}}
返回
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
知道问题出在哪里?
编辑:
用卷曲查询
curl -XGET -d '{"query": {"bool": {"must": [{"match": {"integer": 1}}]}}}' http://192.168.99.100:9200/07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search
(无结果)
curl -XGET -d '{"query": {"bool": {"must": [{"match": {"_id": "49279857-84a7-4570-ad8e-9051079ca0ac"}}]}}}' http://192.168.99.100:9200/07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search
(得到结果)
答案 0 :(得分:1)
请尝试term
查询:
{
"query": {
"bool": {
"must": [
{
"term": {
"integer": 1
}
}
]
}
}
}
<强>更新强>
请注意,您的文档不符合您向我们展示的地图。
"_source": {
"doc": {
"string": "1",
"_time": "2016-06-10T12:50:59.509593",
"float": 1.1,
"datetime": "2016-06-10T12:50:59.497620",
"boolean": false,
"integer": 1
}
}
应该是这样的,即没有doc
字段。
"_source": {
"string": "1",
"_time": "2016-06-10T12:50:59.509593",
"float": 1.1,
"datetime": "2016-06-10T12:50:59.497620",
"boolean": false,
"integer": 1
}
答案 1 :(得分:1)
尝试您想要的相同查询,但进行一些更改
GET 07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"doc.integer": 1
}
}
]
}
}
}
使用 doc.integer 代替整数