- 简介
- 查询语法
- 源码分析
简介
词条查询是Elasticsearch中的一个简单查询。它仅匹配在给定字段中含有该词条的文档,而且是确切的、未经分析的词条。
记住,词条查询是未经分析的,因此需要提供跟索引文档中的词条完全匹配的词条。
多词条查询允许匹配那些在内容中含有某些词条的文档。
查询语法
例1:查询title字段中含有crime一词的文档,建立索引时转成小写,查询时也用小写
{
“query” : {
“term” : {
“title” : “crime”
}}}
例2:查询所有在tags字段中含有novel或book的文档
{
“query” : {
“terms” : {
“tags” : [“novel”, “book”]
}}}
源码分析
'''(1)Elasticsearch code'''
public class TermQueryParser implements QueryParser {
public static final String NAME = "term";
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(), "[term] query malformed, no field"</