zoukankan      html  css  js  c++  java
  • 01 lucene基础 北风网项目培训 Lucene实践课程 系统架构

    Lucene在搜索的时候数据源可以是文件系统,数据库,web等等。

    Lucene的搜索是基于索引,Lucene是基于前面建立的索引之上进行搜索的。

    使用Lucene就像使用普通的数据库一样。

    Lucene的核心包及其功能说明

    Lucene要实现检索,需要有两个关键的环节:第一个环节:索引环节。从不同数据源(文件系统,数据库,web,手工输入等等)收集数据,收集完毕之后通过调用Lucene下面所提供的API来最后把生成的索引写入到索引文件中,这是第一个环节。第二个环节:搜索环节。搜索是建立在生成的索引基础之上进行搜索的。

    Lucene的核心包类分为:索引相关的和搜索相关的。

    Lucene的核心索引类

     中文和英文各有一套停用词。

    谷歌搜索一直错了

    Document可以当做是关系数据库中的一条记录,在实际的处理过程中一个记录下面就可以包含多个字段。在实际的处理过程中的,Docuemnt的作用就是处理文本,把处理好的文本通过IndexWriter写入到索引文件中,这是Document类的作用。Field相当于关系型数据库中的列或者是字段,而关系型数据库的字段类型比较丰富,在这里Field类型的数据类型没有那么丰富。早先的版本Field在Lucene下面提供了四种类型,最新的版本中它是通过两个参数配合来实现的。Field类型的确认是通过Field下面两个属性:一个是Index,一个是Store。两个属性下面的对应的常量交叉配合来确定的。

    Store有三个常量:YES,NO,COMPRESS。在实际使用过程中,通过Index和Store两个属性的相互配合,可以有多个Field类型来出现。例如,Index:ANALYZED,Store:YES表示要进行分词处理,要进行索引、存储。Index:ANALYZED,Store:NO表示进行分词处理,进行索引但是不进行存储操作。

    通过Index和Store相互配合,可以出现多个Field类型来供我们选择和使用,这和原先Field提供的四种类型就是说这比早先版本的Lucene所提供的四种类型的要丰富的多。

    IndexSearcher是索引式检索的基础:要先建立完索引之后,才能进行检索操作。Hits它的地位相当于在关系型数据库中进行检索之后返回的ResultSet字符集。

    Lucene内部实现简析

    Lucene的系统架构,了解Lucene的核心包和核心类,了解Lucene的内部实现的基本原理。

  • 相关阅读:
    Auto.js常用控件整理
    python对接口sign签名操作
    # 859.亲密字符串
    linux系统如何挂载FTP共享文件
    解决“Tomcat控制台输出乱码问题”
    关于“Unknown or unsupported command 'install'”问题解决的小结
    输出九九乘法表
    python webdriver混合驱动测试框架(数据驱动+关键字驱动)
    python webdriver关键字框架
    python webdriver测试框架--数据驱动DB驱动
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6445415.html
Copyright © 2011-2022 走看看