我已经使用ES一段时间了,但今天不起作用。我重新创建了docker compose(smt可以在那里吗?),以下是我在ES中获得的数据:
编辑:这是我的输入(这里我有\u 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": {}
}
}
具有“全部匹配”查询的文档(部分):
{
"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":{"必须":[{"匹配":{"整数": 1}}]}}}
退货
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
知道问题出在哪里吗?
编辑:使用curl查询{“query”:{“bool”:{“must”:[{“match”:{“integer”:1}}}]}}}http://192.168.99.100:9200/07533744-b0e6-4a2f-8e94-1F7501589费用/文件/搜索(无结果)
curl-XGET-d'{"查询":{"bool":{"必须":[{"匹配":{"_id":"49279857-84a7-4570-ad8e-9051079ca0ac"}}]}}}'
(获取结果)
尝试您想要的相同查询,但做一些更改
GET 07533744-b0e6-4a2f-8e94-1f7501589fee/doc/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"doc.integer": 1
}
}
]
}
}
}
使用文档。整数而不是整数
改为尝试查询:
{
"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
}
我使用的是spring数据elasticsearch(4.0版)。现在,我需要将rest高级客户端的搜索结果转换为POJO对象。 我会使用杰克逊图书馆的ObjectMapper。我相信有更好的方法来做到这一点。 Spring data elasticsearch now(4.0版)使用MappingElasticsearchConverter。不幸的是,我不知道如何做到这一点-我没有看到任何相关文
我有一个索引,其中我的每个对象都有状态字段,该字段可以有一些预定义的值。我想获取所有状态为“已启动”、“已更新”、“已删除”的查询,任何与这些匹配的,因此我使用Querybuilder和nativeSearchQuery,通过ElasticsearchOperations在控制台上打印的java创建了这个查询: 我的索引中有“INITIATED”状态的数据,但没有得到查询中提到的任何状态的人。请如
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。
我试图从弹性搜索获取记录,我得到这个错误如下 我的Java代码如下 请让我知道,如果我错过了一些东西,而试图索引,我是新的弹性搜索。 同样,如果我想在我的查询中包括一个以上的条件,如下面所示 下面是上述查询的结果,它工作正常 我如何与上面的geoboundingbox查询相结合?我需要将其添加为过滤器吗? 更新:依赖关系 提前谢谢Rakesh
有人能帮我解决这个问题吗?我收到一个错误返回:“没有为[注册查询或]”我是否结构错误?它应该过滤区域为530且开始为空白或区域为530且开始为“06192013”的所有结果,然后在此基础上使用其他过滤器提升文档。
我们在Liferay DXP和Elasticsearch 2.2.0中有一个自定义搜索portlet。我们在elasticsearch设置中为同义词搜索添加了以下设置。 我们还使用以下代码验证是否将同义词分析器添加到索引中。 这给出了synonyms.txt文件中“acl”的所有同义词的结果。但是Liferay搜索不会给搜索匹配同义词。例如:搜索(“acl”)=