我有一个包含多个字段的文档.
文献
我想搜索谷歌搜索,例如
当我使用"蓝色汽车"时,它必须是精确的值匹配而根本没有任何分析.它必须只找到没有词干等的确切短语
为此我得到了这样一个工作版本 - >
{
"query": {
"multi_match": {
"query": "blue car",
"fields": [
"text",
"message",
"whatever"
],
"type": "phrase"
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然对于其他类型的搜索,如-diesel或+ hybrid.我正在考虑使用似乎支持这个的那个.
{
"query": {
"simple_query_string": {
"fields": [
"text",
"message",
"whatever"],
"default_operator": "and",
"query": "-diesel +hybrid"
}
}
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,即使我在查询中将文本放在引号中,简单的查询字符串查询也会使用分析器.
你们有个想法我怎么能把这两者结合起来?我可以使用bool查询将它们组合在一起吗?
这是查询"蓝色汽车"-diesel + hybrid'使用的示例 bool query
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "blue car",
"fields": [
"text",
"message",
"whatever"
],
"type": "phrase"
}
},
{
"multi_match": {
"query": "hybrid",
"fields": [
"text",
"message",
"whatever"
]
}
}
],
"must_not": {
"multi_match": {
"query": "diesel",
"fields": [
"text",
"message",
"whatever"
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2708 次 |
最近记录: |