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表示多字段搜索

时间: 2024-10-07 03:14:39

lucene总结——(十七)的相关文章

Lucene 4.0 正式版发布,亮点特性中文解读[转]

http://blog.csdn.net/accesine960/article/details/8066877 2012年10月12日,Lucene 4.0正式发布了(点击这里下载最新版),这个版本因为诸多的新特性和大胆的架构调整一直备受期待.无论是索引结构,索引算法以及整体架构的包容性都发生了翻天覆地的变化.正如大家一直所说的Lucene是一个搜索工具包 ,而4.0的发布则让Lucene向搜索框架的方向迈出了一大步. 下面我们来逐一解读Lucene 4.0的新特性吧. Lucene 4.0

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

lucene中Field.Index,Field.Store的一些设置

lucene在doc.add(new Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED)); Field有两个属性可选:存储和索引. 通过存储属性你可以控制是否对这个Field进行存储: 通过索引属性你可以控制是否对该Field进行索引. 事实上对这两个属性的正确组合很重要. Field.Index Field.Store 说明 TOKENIZED(分词) YES 被分词索引且存储 TOKE

Lucene 基础理论

1. 全文检索系统与Lucene简介 1.1 什么是全文检索与全文检索系统 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式.这个过程类似于通过字典中的检索字表查字的过程. 全文检索的方法主要分为按字检索和按词检索两种.按字检索是指对于文章中的每一个字都建立索引,检索时将词分解为字的组合.对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上

一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询

这两天加班,不能兼顾博客的更新,请大家见谅. 有时候我们创建完索引之后,数据源可能有更新的内容,而我们又想像数据库那样能直接体现在查询中,这里就是我们所说的增量索引.对于这样的需求我们怎么来实现呢?lucene内部是没有提供这种增量索引的实现的: 这里我们一般可能会想到,将之前的索引全部删除,然后进行索引的重建.对于这种做法,如果数据源的条数不是特别大的情况下倒还可以,如果数据源的条数特别大的话,势必会造成查询数据耗时,同时索引的构建也是比较耗时的,几相叠加,势必可能造成查询的时候数据缺失的情况

一步一步跟我学习lucene(9)---lucene搜索之拼写检查和相似度查询提示(spellcheck)

suggest应用场景 用户的输入行为是不确定的,而我们在写程序的时候总是想让用户按照指定的内容或指定格式的内容进行搜索,这里就要进行人工干预用户输入的搜索条件了:我们在用百度谷歌等搜索引擎的时候经常会看到按键放下的时候直接会提示用户是否想搜索某些相关的内容,恰好lucene在开发的时候想到了这一点,lucene提供的suggest包正是用来解决上述问题的. suggest包联想词相关介绍 suggest包提供了lucene的自动补全或者拼写检查的支持: 拼写检查相关的类在org.apache.

Lucene的一个简单的标准测试(Lucene包基于3.5版本的)

Lucene编程一般分为:索引.分词.搜索 索引源代码: package lucene的一个标准测试; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.Date; import org.apache.lucene.anal

利用Lucene把文本的字体格式进行修改,然后输出到一个新的文件中

这里书中写的是charactorProcess(File file, String destFile) 这里被我改成,(String file,  String destFIle) 一个代表现有的文件和要新建的文件 代码: package com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.

Lucene基本概念

Lucene基本概念: 1.  Index:索引库,文档的集合组成索引.和一般的数据库不一样,Lucene不支持定义主键,在Lucene中不存在一个叫做Index的类,通过IndexWriter来写索引,通过IndexReader来读索引.索引库在物理形式上一般是位于一个路径下的一系列文件. 2.  分析器:一段有意义的文字需要通过Analyzer分析器分割成一个个词语后才能按关键字搜索,StandardAnalyzer是Lucene中最常用的分析器.为了达到更好的搜索效果,不同的语言可以使用不