lucene总结——(十七)
(01)rownum和rowid有何区别?
rownum在表结构中是看不见的,只能在select中明确写出rownum方可显示
rownum与不同的表绑定在一起,每张表都有自已的rownum,每张表的rownum可以相同,表亡rownum亡
rownum可用于oracle分页中
rownum是从1开始的连续不断的数值型
rowid在表结构中是看不见的,只能在select中明确写出rowid方可显示
rowid在每张表中都不一样,表亡rowid亡,它是沟通表与DBF文件的桥梁
rowid可用于索引中
(02)IndexWriter和IndexSearcher有何作用?
IndexWriter将Document对象写入到索引库中,适用于增删改操作
IndexSearcher根据关键字去索引库中查询符合条件的数据,只适用于查询操作
(03)Directory directory = FSDirectory.open(new File("E:/LuceneDBDBDBDBDBDBDBDBDB"));这句话什么意思?
索引库对应的硬盘上的目录,如果无则创建;返之不创建
(04)document.add(new Field("content",article.getContent(),Store.YES,Index.ANALYZED));这句话什么意思?
将content字段和其对应的值,放入到索引库的原始表中,且该字段的值需要进行分词
(05)TopDocs topDocs = indexSearcher.search(query,10);这句话什么意思?
去索引库中查询符合条件的数据,超过10条数据,只取前10条;不足10条,以实际为准
(06)谈谈索引库优化有哪几个方面
>>文件数量问题
>>文件大数问题
>>写入索引库速度问题
(07)分词器有什么作用
用户不可能完全记住所有文章的内容,可能只能记住该文章中的某些关键字,
那么做为搜索功能的程序来讲,就需要用关键字去最大限度搜索到用户需要的
内部,分词器就在中间起了一个桥梁作用
(08)document.get("content")和document.getField("content")有什么区别?
get()获取document对象中content字段的值,返回值是String类型
getField("content")获取document对象中content字段,返回值是Field类型
(09)在默认情况下,搜索结果是如何排序的?如果有二个结果相同,又是如何排序的?
在默认情况下,按得分度的高低排序,如果相同得份,按你插入索引库的先后排序
(10)QueryParser queryParser =
new QueryParser(LuceneUtil.getVersion(),"content",LuceneUtil.getAnalyzer());
QueryParser queryParser =
new MultiFieldQueryParser(LuceneUtil.getVersion(),new String[] {"content","title"},LuceneUtil.getAnalyzer());
有什么区别?
第一个API表示单字段搜索
第二个API表示多字段搜索
lucene总结——(十七)的更多相关文章
- Lucene 4.0 正式版发布,亮点特性中文解读[转]
http://blog.csdn.net/accesine960/article/details/8066877 2012年10月12日,Lucene 4.0正式发布了(点击这里下载最新版),这个版本 ...
- 我的MYSQL学习心得(十七) 复制
我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- lucene 基础知识点
部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...
- 用lucene替代mysql读库的尝试
采用lucene对mysql中的表建索引,并替代全文检索操作. 备注:代码临时梳理很粗糙,后续修改. import java.io.File; import java.io.IOException; ...
- Lucene的评分(score)机制研究
首先,需要学习Lucene的评分计算公式—— 分值计算方式为查询语句q中每个项t与文档d的匹配分值之和,当然还有权重的因素.其中每一项的意思如下表所示: 表3.5 评分公式中的因子 评分因子 描 述 ...
- Lucene的分析资料【转】
Lucene 源码剖析 1 目录 2 Lucene是什么 2.1.1 强大特性 2.1.2 API组成- 2.1.3 Hello World! 2.1.4 Lucene roadmap 3 索引文件结 ...
- Lucene提供的条件判断查询
第一.按词条搜索 - TermQuery query = new TermQuery(new Term("name","word1"));hits = sear ...
- Lucene 单域多条件查询
在Lucene 中 BooleanClause用于表示布尔查询子句关系的类,包括:BooleanClause.Occur.MUST表示and,BooleanClause.Occur.MUST_NOT表 ...
- lucene自定义过滤器
先介绍下查询与过滤的区别和联系,其实查询(各种Query)和过滤(各种Filter)之间非常相似,可以这样说只要用Query能完成的事,用过滤也都可以完成,它们之间可以相互转换,最大的区别就是使用过滤 ...
随机推荐
- BAT等公司必问的8道Java经典面试题,你都会了吗?
工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1.“知其然不知其所以然”.做了多年技术,开发了很多业务应用,但似乎并 ...
- using关键字
声明导入名称空间 处理实现了IDisposeable的对象,并在作用域末尾调用Dispose方法
- Ifter Party LightOJ - 1014(水题)
题意:有C个人,给P个食物,每人吃Q个,剩L个.然后给你P和L(Q>L),让你求Q的可能情况,如果有多种可能,从小到大输出:如果不存在,输出impossible 就是求写出公式 遍历c求P-L的 ...
- 【BZOJ4035】数组游戏(博弈论)
[BZOJ4035]数组游戏(博弈论) 题面 BZOJ 洛谷 题解 很明显是一个翻硬币游戏的变形,因此当前局面的\(SG\)函数值就是所有白格子单独存在的\(SG\)函数的异或和. 那么,对于每一个位 ...
- myeclipse2015修改web项目部署名
在旧版本的myeclipse中修改web项目部署名很方便,直接右键在properties中查找web就能进行修改. 但是myeclipse2015中发现不能直接修改了. 我们可以点击config,或者 ...
- java的序列化流和打印流
对象操作流(序列化流) 每次读取和写出的都是JavaBean对象. 序列化:将对象写入到文件中的过程 反序列化:从文件中读取对象到程序的过程 transient: 标识瞬态,序列化的时候,该修饰符修饰 ...
- Java之线程池和Lambda表达式
线程池和lambda表达式 学习线程池和lambda表达式的理解 补充一个知识点(单例设计模式) 在多线程中,我们只需要一个任务类,为了防止创建多个任务类,这个时候就需要用到单例模式,单例模式有两种设 ...
- static的应用
静态变量.静态代码块.静态方法.非静态方法的区别: 执行顺序:静态变量和静态代码块是按照先后顺序执行的,即在类加载的时候就执行的,属于自动执行的.使用场景:就是一些全局常量,在开始的时候就需要加载的. ...
- ssh 执行命令并实时显示结果
ssh 执行命令并实时显示结果 import paramiko def main(): sshClient = paramiko.SSHClient() sshClient.set_missing_h ...
- django中的认证与登录
认证登录 django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 authenticate(**credentials) 提供了用户认证,即验证用户名以及密码是否 ...