易截截图软件、单文件、免安装、纯绿色、仅160KB

传智播客java学习 lucene进阶


我今天学习了lucene的一些知识,我做了简单的笔记:
索引文件结构:
   倒排索引,索引对象是文档中的单词等,用来存储这些单词在一个文档中的位置。例如,有些书在最后提供的索引(单词——页码的对应列表),就可以看成是一种倒排序索引。可以通过一些关键字,在全书中检索出与之相关的部
索引文件的检索与维护
     词汇表规模相对较小,文档集合规模较大。进行检索时,先从检索词汇表开始,然后找到相对应的文档。如果查询中仅包含一个关键词,则在词汇表中找到该单词,并取出他对应的文档就可以了。如果查询中包含多个关键词,则需要将各个单词检索出的记录进行合并。
维护倒排索引有三个操作:插入、删除和更新文档。但是更新操作需要较高的代价。因为文档修改后(即使是很小的修改),就可能会造成文档中的很多的关键词的位置都发生了变化,这就需要频繁的读取和修改记录,这种代价是相当高的。因此,一般不进行(真正的)更新操作,而是使用“先删除,后创建”的方式代替更新操作。
Lucene常用的API:
Document :Lucene所操作的对象
Field:组成Document的元素,代表一个属性。Store、Index
   new Field( String name, String value, Store store, Index index )
Directory:索引库(目录)
   FSDirectory    :真实的目录
   RAMDirectory:在内存中的一个虚拟的目录
QueryParser:把查询字符串变为查询对象的工具。使用子类: MultiFieldQueryParser
   new MultiFieldQueryParser(String[] fields, Analyzer a)
Term:代表某个属性中的一个关键词(目录中出现的条目),是搜索的最小单位
Query :查询对象(封装的过滤条件)。有很多子类,对应各种各样的查询方式。
TopDocs(一套) :代表查询结果
  // 添加索引
       addDocument( Document doc )
       // 更新
       updateDocument(Term term, Document doc)
       // 删除
       deleteDocument(Term term)
       // 合并索引库
       addIndexesNoOptimize(Directory[])
    


相关文档:

java代码获取数据库连接并操作数据库用户

 
ADF中获得数据库连接,读取xml文件的数据,并将其写到数据库中:
public static void main(String[] argv) throws Exception {
       //获得驱动
        Class driverClass = Class.forName("oracle.jdbc.OracleDriver");
  &nb ......

招聘银行项目JAVA开发工程师

     主要是做各地银行的外围系统,例如电子汇票、反洗钱系统等,有兴趣的可以加我QQ(429177125)具体聊,面试地点在北京市海淀区魏公村。
具体如下:
Java工作经验,2-3年
         软性要求: 以下工作经验之一者优先。1、 有银行工作经 ......

JAVA字符串操作

1、   public class HelloWorld {
    public static void main(String args[]){
     String s="daxiong";
     System.out.println("Hello,World!"+"lu shenglong"+s);
     char c[]={'s','w','q'};
    &nb ......

java中如何把一个array复制到arrayList里

public static void  main(string[]  args)
{
     int[] arrayInt=new int[] {1,2,3,4,5}
     ArrayList  alist =ArrayList();
    //方法一
    foreach(int i in alist)
    {
 &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号