- 简介
- 查询语法
- 源码分析
简介
前缀查询在配置方面来说跟词条查询类似。前缀查询能让我们匹配这样的文档:它们的特定
字段以给定的前缀开始。。
查询语法
例:查找所有title字段以cri开始的文档:
{
“query” : {
“prefix” : {
“title” : {
“value” : “cri”,
“boost” : 3.0
}}}}
源码分析
'''(1)Elasticsearch code'''
public class PrefixQueryParser implements QueryParser {
public static final String NAME = "prefix";
@Override
public Query parse(QueryParseContext parseContext) throws IOException, QueryParsingException {
XContentParser parser = parseContext.parser();
XContentParser.Token token = parser.nextToken();
if (token != XContentParser.Token.FIELD_NAME) {
throw new QueryParsingException(parseContext.index(), "[prefix] query malformed, no field");
}
String fieldName = parser.currentName();
String rewriteMethod = null;
Object value = null;
float boost = 1.0f;
token = parser.nextToken();
if (token == XContentParser.Token.START_OBJECT) {
String currentFieldName = null;