gpt4 book ai didi

json - Elasticsearch没有JSON查询的结果

转载 作者:行者123 更新时间:2023-12-02 22:33:41 24 4
gpt4 key购买 nike

我正在学习elasticsearch并跟随本教程学习。我将三个文档上传到索引中。当我提供以下查询时:

curl 'localhost:9200/vehicles/_search?query=driver.name:Jon'

我按预期得到了对象2和对象3。但是,当我尝试使用json查询时:
curl localhost:9200/vehicles/_search -d'

{
"query":{
"prefix":{
"driver.name":"Jon"
}}}'

我没有结果。我正在密切关注本教程,所以我不明白问题所在。任何帮助将非常感激。上传的对象如下。

谢谢!
id:one
'{
"color": "green",
"driver": {
"born":"1989-09-12",
"name": "Ben"
},
"make": "BMW",
"model": "Aztek",
"value": 3000.0,
"year": 2003
}'

id:two
'{
"color": "black",
"driver": {
"born":"1934-09-08",
"name": "Jon"
},
"make": "Mercedes",
"model": "Benz",
"value": 10000.0,
"year": 2012
}'

id:three
'{
"color": "green",
"driver": {
"born":"1934-09-08",
"name": "Jon"
},
"make": "BMW",
"model": "Benz",
"value": 10000.0,
"year": 2012
}'

最佳答案

prefix -query“匹配具有包含带有指定前缀(未分析)的术语的字段的文档”。

注意“未分析”部分。 Lucene正在寻找索引中以“Jon”开头的任何内容,但标准分析器将小写形式的术语。也就是说,“jon”在索引中,而“Jon”不在索引中。

因此,如果您在前缀查询中将文本小写,它应该可以工作。这是一个可运行的示例:https://www.found.no/play/gist/7629456

关于json - Elasticsearch没有JSON查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20165164/

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