Elasticsearch源码分析三--调用Lucene查询接口之词条查询

本文深入探讨了Elasticsearch中未经分析的词条查询,这种查询方式要求提供与索引文档完全匹配的词条。文章通过实例展示了如何进行单个和多个词条的查询,并对相关源码进行了分析。
摘要由CSDN通过智能技术生成
  • 简介
  • 查询语法
  • 源码分析

简介

词条查询是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"</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值