gpt4 book ai didi

elasticsearch - 对Elasticsearch查询感到困惑

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

        POST http://localhost:9200/test2/drug?pretty
{
"title": "I can do this"
}


get test2/drug/_search
{
"query" : {
"match": {
"title": "cancer"
}
}
}

映射为:
        {
"test2": {
"mappings": {
"drug": {
"properties": {
"title": {
"type": "string"
}
}
}
}
}
}

运行以上查询将返回文档。我想了解松紧带在幕后做什么?通过查看默认分析器的输出,它不会标记癌症,使其返回“可以”,那么为什么返回带有“可以”一词的文档,又是什么原因导致该文档被返回呢?换句话说,搜索查询“癌症”正在发生其他处理。

更新

我是否可以在我的机器上运行一个命令,该命令将清除所有索引和所有内容,所以我的表盘很整洁?我执行了删除/ *的操作,但成功了,但仍然匹配了。

最佳答案

测试的问题是,如果使用的是Sense,则为get请求。从某种意义上说,它应该是GET(大写字母)。

解释与GETPOST http方法有关。
在后台,Sense实际上将GET请求转换为HTTP POST(鉴于many browsers do not support HTTP GET requests with a request body)。这意味着,即使您编写GET,实际的http请求也是POST

由于Sense具有强制完成请求方法的大写字母的自动完成功能,因此在确定它是GET(而不是小写的get)请求以及请求正文时,它使用相同的大写字母。如果是,那么该请求将转换为POST一个。如果比较请求方法并确定不是GET,则按原样发送请求,即使用get方法和正文。由于忽略了主体,因此到达Elasticsearch的将是test2/drug/_search,基本上是match_all

关于elasticsearch - 对Elasticsearch查询感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33658619/

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