Lucene生成查询的函数调用关系

本文详细介绍了QueryParser的解析流程,从顶级查询开始,逐步深入到分词、短语查询构造等细节。通过分析QueryParser如何处理输入字符串,揭示了其内部工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QueryParser.parse
	QueryParser.TopLevelQuery
		QueryParser.Query
			QueryParser.Clause
				QueryParser.Term
					QueryParser.jj_consume_token
					QueryParser.discardEscapeChar
					QueryParser.getFieldQuery
						PaodingAnalyzer.reusableTokenStream
							PaodingAnalyzer.tokenStream
						new CachingTokenFilter(source);
						CachingTokenFilter.getAttribute(CharTermAttribute.class);
							LinkedHashMap.get
						CachingTokenFilter.incrementToken//复制的是分词
							CachingTokenFilter.restoreState//把State中的数据复制到attributeImpls中
								attributeImpls.get
						CharTermAttributeImpl.copyTo
						QueryParser.newPhraseQuery
							new PhraseQuery()
						PhraseQuery.setSlop
						CachingTokenFilter.incrementToken//复制的是偏移
						CharTermAttributeImpl.toString//得到Term
						PhraseQuery.add(Term)//构造Query
			QueryParser.addClause
				clauses.add(newBooleanClause
		QueryParser.jj_consume_token

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值