elasticsearch 模糊查询和精确查询一起
在Elasticsearch中,可以使用模糊查询和精确查询一起进行搜索。
模糊查询可以使用通配符或正则表达式来匹配不完全的词项。例如,可以使用通配符查询来匹配包含特定字符序列的词项:
GET /index/_search
{
"query": {
"wildcard": {
"field": "*keyword*"
}
}
}
这将匹配包含"keyword"的词项,如"keyword1"、"mykeyword"等。
精确查询可以使用精确匹配或短语匹配来查找完全匹配的词项。例如,可以使用精确匹配查询来查找与特定词项完全匹配的文档:
GET /index/_search
{
"query": {
"match": {
"field": "keyword"
}
}
}
这将匹配与"keyword"完全相同的词项。
要同时使用模糊查询和精确查询,可以使用布尔查询来组合它们。例如,可以使用布尔查询将模糊查询和精确查询结合起来:
GET /index/_search
{
"query": {
"bool": {
"should": [
{
"wildcard": {
"field": "*keyword*"
}
},
{
"match": {
"field": "keyword"
}
}
]
}
}
}
这将返回同时匹配模糊查询和精确查询的文档。
原文地址: https://www.cveoy.top/t/topic/iao7 著作权归作者所有。请勿转载和采集!