在 elasticsearch 中搜索多个字段作为正则表达式查询
search multiple field as regexp query in elasticsearch
我正在尝试按标题和描述等不同字段进行搜索。当我键入关键字时,如果描述或标题包含我键入的关键字,则 elasticseach 必须找到某些内容。这是我的目标。我怎样才能达到我的目标?
你可以看到我在一个字段中使用的示例代码。
query: {
regexp: {
title: `.*${q}.*`,
},
},
我也试过下面的一个,但它给出了语法错误。
query: {
regexp: {
title: `.*${q}.*`,
},
regexp: {
description: `.*${q}.*`,
},
},
为此,您需要使用 bool
查询。
GET /<you index>/_search
{
"query": {
"bool": {
"should": [
{
"regexp": {
"title": ".*${q}.*"
}
},
{
"regexp": {
"description": ".*${q}.*"
}
}
]
}
}
}
您可以找到文档 => [doc]
我正在尝试按标题和描述等不同字段进行搜索。当我键入关键字时,如果描述或标题包含我键入的关键字,则 elasticseach 必须找到某些内容。这是我的目标。我怎样才能达到我的目标?
你可以看到我在一个字段中使用的示例代码。
query: {
regexp: {
title: `.*${q}.*`,
},
},
我也试过下面的一个,但它给出了语法错误。
query: {
regexp: {
title: `.*${q}.*`,
},
regexp: {
description: `.*${q}.*`,
},
},
为此,您需要使用 bool
查询。
GET /<you index>/_search
{
"query": {
"bool": {
"should": [
{
"regexp": {
"title": ".*${q}.*"
}
},
{
"regexp": {
"description": ".*${q}.*"
}
}
]
}
}
}
您可以找到文档 => [doc]