【发布时间】:2017-01-28 06:08:00
【问题描述】:
我有一个包含多个字段的文档。
文档
- 备注
- 说明
- 标题
我想使用类似 google 的搜索进行搜索,例如
- “蓝色汽车”-柴油+汽油
- “蓝色汽车”+混合动力
- “蓝车”橙
- 蓝车橙
当我使用“蓝色汽车”时,它必须是完全匹配的值,根本没有任何分析。它只能找到没有词干等的确切短语。
为此,我得到了一个这样的工作版本 ->
{
"query": {
"multi_match": {
"query": "blue car",
"fields": [
"text",
"message",
"whatever"
],
"type": "phrase"
}
}
}
虽然对于其他类型的搜索,如 -diesel 或 +hybrid。我正在考虑使用 as 似乎支持得很好。
{
"query": {
"simple_query_string": {
"fields": [
"text",
"message",
"whatever"],
"default_operator": "and",
"query": "-diesel +hybrid"
}
}
}
不幸的是,即使我在查询中将文本放在引号中,简单的查询字符串查询也会使用分析器。
你们知道我如何将两者结合起来吗?我可以使用 bool 查询将它们组合在一起吗?
【问题讨论】:
标签: elasticsearch