lucene源码分析(6)Query分析
查询的入口
/** Lower-level search API.** <p>{@link LeafCollector#collect(int)} is called for every matching document.** @throws BooleanQuery.TooManyClauses If a query would exceed * {@link BooleanQuery#getMaxClauseCount()} clauses.*/public void search(Query query, Collector results)throws IOException {query = rewrite(query);search(leafContexts, createWeight(query, results.needsScores(), 1), results);}
可以看到,查询时需要传入Query接口的实现,其实现主要有:
/** The abstract base class for queries.<p>Instantiable subclasses are:<ul><li> {@link TermQuery}<li> {@link BooleanQuery}<li> {@link WildcardQuery}<li> {@link PhraseQuery}<li> {@link PrefixQuery}<li> {@link MultiPhraseQuery}<li> {@link FuzzyQuery}<li> {@link RegexpQuery}<li> {@link TermRangeQuery}<li> {@link PointRangeQuery}<li> {@link ConstantScoreQuery}<li> {@link DisjunctionMaxQuery}<li> {@link MatchAllDocsQuery}</ul><p>See also the family of {@link org.apache.lucene.search.spans Span Queries}and additional queries available in the <a href="{@docRoot}/../queries/overview-summary.html">Queries module</a> */
还有spanQuery跨度查询
太多了,需要一个个看
转载于:https://www.cnblogs.com/davidwang456/p/10030645.html
lucene源码分析(6)Query分析相关推荐
- Lucene 源码分析之倒排索引(三)
上文找到了 collect(-) 方法,其形参就是匹配的文档 Id,根据代码上下文,其中 doc 是由 iterator.nextDoc() 获得的,那 DefaultBulkScorer.itera ...
- lucene源码分析的一些资料
针对lucene6.1较新的分析:http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/conansonic/article/d ...
- lucene 源码分析_Lucene分析过程指南
lucene 源码分析 本文是我们名为" Apache Lucene基础知识 "的学院课程的一部分. 在本课程中,您将了解Lucene. 您将了解为什么这样的库很重要,然后了解Lu ...
- Colly源码解析——结合例子分析底层实现
通过<Colly源码解析--框架>分析,我们可以知道Colly执行的主要流程.本文将结合http://go-colly.org上的例子分析一些高级设置的底层实现.(转载请指明出于break ...
- lodash源码中debounce函数分析
lodash源码中debounce函数分析 一.使用 在lodash中我们可以使用debounce函数来进行防抖和截流,之前我并未仔细注意过,但是不可思议的是,lodash中的防抖节流函数是一个函数两 ...
- Linux内核学习(五):linux kernel源码结构以及makefile分析
Linux内核学习(五):linux kernel源码结构以及makefile分析 前面我们知道了linux内核镜像的生成.加载以及加载工具uboot. 这里我们来看看linux内核的源码的宏观东西, ...
- lucene源码学习
1.官网地址 https://lucene.apache.org/core/9_1_0/index.html 2. lucene源码结构 https://juejin.cn/post/68449037 ...
- lucene源码分析(1)基本要素
1.源码包 core: Lucene core library analyzers-common: Analyzers for indexing content in different langua ...
- Caffe源码中common文件分析
Caffe源码(caffe version:09868ac , date: 2015.08.15)中的一些重要头文件如caffe.hpp.blob.hpp等或者外部调用Caffe库使用时,一般都会in ...
- Mybatis源码之插件模块分析
总结完这个Mybatis的整体主要功能基本上就差不多完,还有一些细节的部分,后续都会记录补充. 插件这个东西一般用的比较少,就算用的多的插件也算是PageHelper分页插件: PageHelper官 ...
最新文章
- 清华大学:确保博士生每年最低资助标准不低于5.1万元
- QThread: Destroyed while thread is still running
- 网易云 IM SDK 4.2.0版本逆袭升级!
- wxWidgets:wxVariant类用法
- flutter 动画json_Flutter 50: 图解动画小插曲之 Lottie 动画
- FileReader/FileWriter复制文件
- SharePoint 2013:解决添加域名后每次都需要登录的问题
- 有几种部署模式_来!PyFlink 作业的多种部署模式
- 数据库中包含开始时间、结束时间,并且查询条件也有开始时间、结束时间的查询方法...
- mysql 日期和时间函数_介绍一下mysql的日期和时间函数
- 《Applying Deep Learning to Answer Selection: A Study And an Open Task》文章理解小结
- Android 加密
- 谷歌浏览器访问端口限制
- 为什么计算机里没有桌面显示不出来,电脑开机不显示桌面怎么办解决教程
- CHD的impala实现hive和hbase数据查询
- 麒麟座IIC-STM32F103RET6(2)-完成US延时
- 奇偶校验原理及逻辑图
- ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
- 灰度重心法提取中心线遇到的问题
- linux amd显卡双屏,Ubuntu14.04安装AMD显卡驱动双屏显示器完全解决方案
热门文章
- Linux进程间通信三 System V 信号量简介与示例
- java泛型数组替代方案_Kotlin泛型Array T导致“不能将T用作具体类型参数 . 使用类代替“但List T不会...
- c#客户端 通过用户名密码访问服务器文件,C#如何连接服务器共享文件夹
- java字符串10_十个最常见的Java字符串问题
- java中 2017 1等于_java 2017秋招1
- C++中的赋值操作符重载
- java将数据封装为树结构_JAVA代码实现多级树结构封装对象
- java web 购物车_java web开发之实现购物车功能
- 原字体_时隔25天,再次更新字体,ios1213
- jdk jenkins 配置ant_安装配置maven、ant(Jenkins)