gpt4 book ai didi

elasticsearch - 查询elasticsearch多字段

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

我为Elasticsearch中的'asset_test'索引配置了以下设置:

{
"settings" : {
"analysis" : {
"analyzer" : {
"str_filtered_search_analyzer" : {
"tokenizer" : "keyword",
"filter" : ["lowercase"]
},
"str_prefix_analyzer" : {
"tokenizer" : "keyword",
"filter" : ["lowercase", "prefix"]
},
"str_substring_analyzer" : {
"tokenizer" : "keyword",
"filter" : ["lowercase", "substring"]
},
"path_analyzer" : {
"type" : "custom",
"tokenizer" : "path_hierarchy"
}
},
"filter" : {
"prefix" : {
"type" : "edgeNGram",
"min_gram" : 2,
"max_gram" : 24,
"side": "front"
},
"substring" : {
"type" : "nGram",
"min_gram" : 2,
"max_gram" : 24
}
}
}
},
"mappings" : {
"asset" : {
"properties" : {
"_id": {
"type" : "string",
"index" : "not_analyzed"
},
"_rev": {
"type" : "string",
"index" : "not_analyzed"
},
"type": {
"type" : "string",
"index" : "not_analyzed"
},
"requiredBySystem": {
"type" : "boolean"
},
"attributes": {
"properties" : {
"id" : {
"type" : "string"
},
"type" : {
"type" : "string",
"index" : "not_analyzed"
},
"heading" : {
"type" : "string"
},
"text" : {
"type" : "string"
},
"users" : {
"type" : "string"
},
"categories" : {
"type" : "multi_field",
"fields" : {
"categories" : {
"type" : "string",
"index" : "not_analyzed"
},
"path" : {
"type" : "string",
"analyzer" : "path_analyzer"
}
}
},
"choices" : {
"properties" : {
"text" : {
"type" : "string"
},
"checked" : {
"type" : "boolean"
}
}
},
"requiredBySystem": {
"type" : "boolean"
},
"required": {
"type" : "boolean"
}
}
}
}
}
}
};

我在索引中有此文档:
{
"_id": "9399fb27448b1e5dfdca0181620418d4",
"_rev": "14-173e71c77d32f0360f7afb2206b2a334",
"type": "entryForm",
"requiredBySystem": true,
"formName": "Basic",
"attributes": [
{
"id": "9399fb27448b1e5dfdca01816203d609",
"type": "text",
"heading": "Brand",
"text": "",
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203dc61",
"type": "text",
"heading": "Model",
"text": "",
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203decd",
"type": "text",
"heading": "Location",
"text": "",
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203e68e",
"type": "userSelectMenu",
"heading": "Assigned To",
"users": [
],
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203e9c9",
"type": "categories",
"heading": "Categories",
"categories": [
"/Airport/Hangar 1",
"/Airport/Hangar 2"
],
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203ebdd",
"type": "text",
"heading": "Owner ID",
"text": "",
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816203f0da",
"type": "textarea",
"heading": "Description",
"text": "",
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816207uy5a",
"type": "radio",
"heading": "Radio Buttons",
"choices": [
{
"text": "Button 1",
"checked": false
},
{
"text": "Button 2",
"checked": true
}
],
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca01816205tgh6",
"type": "checkboxes",
"heading": "Checkboxes",
"choices": [
{
"text": "Box 1",
"checked": false
},
{
"text": "Box 2",
"checked": true
}
],
"requiredBySystem": true
},
{
"id": "9399fb27448b1e5dfdca0181620k81gt",
"type": "select",
"heading": "Select Menu",
"choices": [
{
"text": "Option 1",
"checked": false
},
{
"text": "Option 2",
"checked": true
}
],
"requiredBySystem": true
}
]
}

我正在尝试使用以下查询查找文档,但未找到该文档:
{
"query": {
"field": {
"attributes.categories.path": "/Airport"
}
}
}

Kinda坚持如何进行这项工作。

*更新:我将“属性”设置为嵌套类型,现在使用以下查询进行查询似乎可以正常工作:
{
"query" : {
"nested" : {
"path" : "attributes",
"query" : {
"term" : {
"attributes.categories.path" : "/Airport/Hangar 1"
}
}
}
}
}

我要这样做正确吗?

最佳答案

*更新:我将“属性”设置为嵌套类型,现在使用以下查询进行查询似乎可以正常工作:

{
"query" : {
"nested" : {
"path" : "attributes",
"query" : {
"term" : {
"attributes.categories.path" : "/Airport/Hangar 1"
}
}
}
}
}

关于elasticsearch - 查询elasticsearch多字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595560/

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