`
Tonyguxu
  • 浏览: 272172 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Lucene】建索引核心类介绍

阅读更多

IndexWriter

负责创建新索引或打开已有索引,以及对索引增,删,改。

 

Directory

提供对文件的读写操作以及文件锁的管理。该类是个抽象类。

 

SimpleFSDirectory:基于java.io.*访问文件,不支持多线程读

(同步锁,注:SimpleFSDirectory-->SimpleFSIndexInput-->readInternal())。

文件操作基于RandomAccessFile(注:SimpleFSDirectory-->SimpleFSIndexInput-->Descriptor)。

java.io.*不支持按位置读取(??)。

 

NIOFSDirectory:基于java.nio.*,支持没有同步锁情况下多线程读。

(注:SimpleFSDirectory-->NIOFSIndexInput-->readInternal())

 

MMapDirectory:使用内存映射的io接口进行读操作。对于64位JRE是一个很好选择。

 

RAMDirectory:将索引文件存入RAM。

 

Analyzer

文本文件在被索引之前,需要经过Analyzer处理,负责从文本中提取语汇单元,剔除无用信息。

 

 

Document

代表一些Field的集合,将Document理解为虚拟文档(如web页面,email信息等),通过document我们不用关心文档的来源。

分享到:
评论

相关推荐

    Lucene 3.6 学习笔记

    1.1 索引部分的核心类 2 1.2 分词部分的核心类 2 1.3 搜索部分的核心类 2 第二章 索引建立 3 2.1 创建Directory 3 2.2 创建Writer 3 2.3 创建文档并且添加索引 4 2.4 查询索引的基本信息 5 2.5 删除和更新索引 5 (1)...

    基于lucene的搜索引擎总结

    Lucene索引过程的核心类 IndexWriter :提供对索引的写入操作 Directory:描述了索引存放的位置 Analyzer:对文本进行分析,提取词汇(token),剔除无用的信息 Document:虚拟的文档 Field:每个Document包含一个或...

    最新Lucene教程

    索引包是整个系统核心,全文检索的根本就是为每个切出来的词建索引,查询时就只需要遍历索引,而不需要去正文中遍历,从而极大的提高检索效率。 5)org.apache.1ucene.queryParser查询分析器,实现查询关键词间的...

    基于JAVA的搜索引擎 lucene-2.2.0

    在前面Lucene-2.2.0 源代码阅读学习(1)中,根据Lucene提供的一个Demo,详细分析研究一下索引器org.apache.lucene.index.IndexWriter类,看看它是如果定义的,掌握它建立索引的机制。 通过IndexWriter类的实现源代码...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu

    利用java.url中的类实现Spider程序与外界通讯,以及处理网页中的URL连接,对蜘蛛程序的核心类(通讯核心、蜘蛛程序工作核心),资源索引的建立与搜索新型了详细的研究。 通过设计分析,完成了自己的蜘蛛爬行程序。...

    Elasticsearch 技术解析与实战.zip

    前言 第1章 Elasticsearch入门 1 1.1 Elasticsearch是什么 1 1.1.1 Elasticsearch的历史 2 1.1.2 相关产品 3 1.2 全文搜索 3 1.2.1 Lucene介绍 4 1.2.2 Lucene倒排索引 4 1.3 基础知识 6 1.3.1 Elasticsearch术语及...

    scrutineer:将经过排序的真值来源与另一种来源进行比较,以找到不匹配的地方。 设计用于验证诸如ElasticSearch和Solr之类的索引是否与其数据源(通常是数据库)同步

    为什么当您拥有一个基于Lucene的大量索引时,说出亿万条记录,那么您所需要的就是确信索引正确。 在很多情况下,人们使用Solr / ElasticSearch / Compass对其中央数据库,mongodb,hbase等进行索引,因此索引是数据...

    Solr培训文档

    搜索引擎分类--索引式搜索引擎 搜索引擎分类--元搜索引擎 开源搜索引擎Lucene家族 搜索引擎的三大核心 中文分词 相关排序 相关排序算法 网络蜘蛛 Lucene简介 Lucene与Solr的关系 Solr的特点与优势 Solr 客户端 Solr ...

    网络爬虫调研报告.docx

    而Lucene只是个搜索引擎工具,它提供API接口,通过编写程序对信息进行索引和检索,在其后台需要网络爬虫程序的支持,其目的是通过网络爬虫软件抓取网页,作为提供给Lucene搜索引擎的资源,进行索引和查询。...

    minerva:计算机科学项目

    索引器用于从 bz2 文件创建索引的类,分为段落或整个 atricles 查询通道解析查询并检索所需数量的文档 密涅瓦该程序的核心包含用于查询、排名和重新排名的方法。 排名者包含用于对段落结果进行排序和重新排序的类

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

     11.2.6 案例:使用Lucene索引和检索 291  11.3 中文分词 296  11.3.1 中文分词方法 296  11.3.2 IK分词器的使用 297  11.4 索引浏览器Luke 299  11.4.1 Luke的功能及下载 299  11.4.2 Luke的用法 300...

    java内核源码-JavaCompass:「Java指南针」为你学习Java指明方向。内容涵盖互联网Java工程师所需要掌握的核心知识,涉及J

    基础核心 基础知识 反射 泛型 动态代理 JDK8新特性 集合容器 多线程与并发 Spring SpringMVC SpringBoot Mybatis 数据结构与算法 入门基础 基础数据结构 数组&链表 数组&链表进阶 栈 队列 算法思想 数论&枚举&递归&...

    Web下搜索引擎的设计与实现.doc

    本文首先介绍了搜索引擎出现的必要性,以及什么是搜索引擎、搜索引擎的分类、处理流程、核心技术,同时也对如何才能提高搜索引擎的精准度以及关联度进行了更加深入的研究。 关键词: Web搜索

    web开发常用jar

    lucene-core.jar 、lucene-highlighter.jar 、compass-index-patch.jar、 compass-2.1.0.jar 是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 json-lib-2.2.3-jdk15.jar json和java转化的辅助工具 ...

    searchengineer:垂直搜索

    searchengineer 垂直搜索 实现了一个小型完整的搜索引擎系统...最后是搜索引擎的核心全文索引,了解了自定义的数据结构,数据类型,怎样以二进制的形式读写文本,怎样以utf-8编码形式存储文本,快速排序,二分查找的运用。

    Java EE常用框架.xmind

    工作流引擎是工作流的核心,能够让我们定义出来的工作流部署起来。 由于我们使用工作流的时候是有很多数据产生的,因此Activiti是将数据保存到数据库表中的。这些数据库表由Actitviti创建,由Activiti维护。 ...

    基于JAVA技术的搜索引擎的研究与实现

    索引和搜索部分借助Lucene全文搜索引擎库中的Java类进行实现。实现搜索引擎的个性化,使搜索引擎具有自我学习的功能,能自动地适应用户的查询需求,并能对用户进行智能分类从而为搜索引擎的个性化提供依据。

    java开发常用jar包

    lucene-core.jar 、lucene-highlighter.jar 、compass-index-patch.jar、 compass-2.1.0.jar 是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 json-lib-2.2.3-jdk15.jar json和java转化的辅助工具 ...

    ZendFramework中文文档

    7.8.4. 内建的动作助手 7.8.4.1. 动作堆栈(助手) 7.8.4.2. AutoComplete 7.8.4.2.1. AutoCompletion with Dojo 7.8.4.2.2. AutoCompletion with Scriptaculous 7.8.4.3. ContextSwitch and AjaxContext 7.8....

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    数据库开发基础、Microsoft SQLServer基础、SQL语言基础、索引、事务、SQL语言高级技术(空值处理、聚合与分组、数据分页、Union、日期函数、类型转换函数、流控函数、表连接、子查询、存储过程、触发器)、数据库...

Global site tag (gtag.js) - Google Analytics