gpt4 book ai didi

elasticsearch - 在日期字段上执行匹配查询时会发生什么

转载 作者:行者123 更新时间:2023-12-02 23:11:11 25 4
gpt4 key购买 nike

为什么要执行以下类型的查询:

GET myindex/_search
{
"query": {
"bool" : {
"must": [
{"match": {"@timestamp": "454545645656"}}
]
}
}
}

当字段类型是以下一种时?
"mappings": {
"fluentd": {
"properties": {
"@timestamp": {
"type": "date"
},

是否有意义?查询值是否通过分析器并将字段与什么进行比较?

最佳答案

不,即使您在date字段上使用匹配查询,并且对匹配进行分析也意味着它会通过在索引时应用于该字段的相同分析器进行分析。如official ES doc中所述。

但正如official ES doc on date datatype中所述。

Queries on dates are internally converted to range queries on this long representation



您可以使用搜索查询中的explain = true参数自己进行测试。有关说明API的更多信息,请参见 here

我为您的搜索查询执行了此操作,您可以在结果(说明部分)中看到它在日期字段上显示范围查询。

URL:-/ _search?explain = true
"hits": [
{
"_shard": "[date-index][0]",
"_node": "h2H2MJd5T5-b1cUSkHVHcw",
"_index": "date-index",
"_type": "_doc",
"_id": "1",
"_score": 1.0,
"_source": {
"@timestamp": "454545645656"
},
"_explanation": {
"value": 1.0,
"description": "@timestamp:[454545645656 TO 454545645656]", --> see range query
"details": []
}
}

关于elasticsearch - 在日期字段上执行匹配查询时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com