gpt4 book ai didi

node.js - 使用 bool 必须在一个Elasticsearch查询中匹配并匹配_all

转载 作者:行者123 更新时间:2023-12-03 01:45:03 25 4
gpt4 key购买 nike

这是我第一次尝试使用elasticsearch,并且试图获取必须匹配给定参数的所有文档,并立即使用match _all字段。我的架构看起来像这样

{
"mappings":{
"product":{
"_all":{"enabled":true},
"properties":{
"category":{"type":"text"},
"brand":{"type":"text"},
"model":{"type":"text"},
"description":{"type":"text"}
}
}
}
}

假设我要查找所有完全属于“电话”类别的产品,并且任何属性中都有“完美”一词。我只使用没有任何问题
_search

"query": {
"match": {
"_all": "perfect"
}
}

但是我找不到将其与匹配类别同时组合的解决方案。实现此目标的最佳方法是什么?如果那很重要,我正在使用官方的elasticsearch node.js插件。

最佳答案

您必须使用 bool(boolean) 查询-在这里您可以组合更多可以搜索的属性。参见elasticsearch文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

这是doc中的示例:

GET _search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"term": {
"status": "active"
}
}
}
}
}

关于node.js - 使用 bool 必须在一个Elasticsearch查询中匹配并匹配_all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653378/

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