QueryBuilders.multiMatchQuery用法
时间: 2023-12-15 18:03:50 浏览: 221
`QueryBuilders.multiMatchQuery` 是 Elasticsearch Java API 提供的方法,用于构建多字段匹配查询。该方法有多个参数,下面是一个常见的用法示例:
```java
QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery(
"search keyword",
"field1", "field2", "field3"
);
```
以上代码将会创建一个查询,用于在 `field1`, `field2`, `field3` 字段中查找包含 "search keyword" 的文档。
除了 `search keyword` 和字段列表之外,`multiMatchQuery` 方法还可以接受其他参数,例如:
- `type`:指定匹配类型,如 best_fields, most_fields, cross_fields, phrase, phrase_prefix 等。
- `operator`:指定多个关键词之间的逻辑运算符,如 OR 或 AND。
- `boost`:指定查询的权重,可以是一个浮点数。
下面是一个更完整的示例:
```java
QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery(
"search keyword",
"field1", "field2", "field3"
)
.type(MultiMatchQueryBuilder.Type.BEST_FIELDS)
.operator(Operator.OR)
.boost(1.2f);
```
以上代码将会创建一个查询,用于在 `field1`, `field2`, `field3` 字段中查找包含 "search keyword" 的文档,并将查询类型设置为 `BEST_FIELDS`,将多个关键词之间的逻辑运算符设置为 `OR`,并将查询的权重设置为 1.2。
阅读全文