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

lucene笔记

阅读更多
1,Field.Store与Field.Index
  Field.Store.COMPRESS:用压缩的格式存储最初的Field值
  Field.Store.NO:不存储该Field的原始值
  Field.Store.YES:存储该Field的原始值

  Field.Index.NO:不索引Field的值
  Field.Index.NO_NORMS:
  Field.Index.TOKENIZED:作分词处理
  Field.Index.UN_TOKENIZED:不分词,直接作为完整的信息段检索,可以支持全匹配和相似匹配,跟数据库中的like很类似。

2,实现Filter接口
<!---->    public BitSet bits(IndexReader reader) throws IOException {
        
final BitSet bits = new BitSet(reader.maxDoc());// 默认所有都为false
        
// 设置所有的都不能检索到
        
// bits.set(0, bits.size() - 1, false);
        bits.set(3true);
        bits.set(
4);//设置为true
        int[] docs = new int[1000];
        
int[] freqs = new int[1000];
        TermDocs termDocs 
= reader.termDocs(new Term("title""测试"));
        
int count = termDocs.read(docs, freqs);//
        for (int i = 0; i < docs.length; i++) {
            System.out.println(docs[i]
+"--"+freqs[i]);
            bits.set(docs[i]);
        }
        
return bits;
    }

3,Term t = new Term("content", "电力");
  Query query = new TermQuery(t);
  以上搜不到结果.原因是"电力"不是一个Term,用"电"或"力"则可以。

4,reader.terms()返回索引中的所有term,没有重复。而TermDocs存放term关联的Doc
<!---->TermEnum enumerator = reader.terms();
while (enumerator.next()) {
Term term 
= enumerator.term();
System.out.println(term.field() 
+ " " + term.text());
}

5,lucene不支持中文的*  ?匹配  
  因为英文是基于词的, 中文是基于字的  
  英文mo?ey可以匹配到money ,因为money是一个term,  中文怎么办?除非中文有个好的分词方案
6,两次过滤后,query对象的tostring:
filtered(filtered(title:oracle content:oracle)->com.lucene.search.PrivilegeFilter@133d0fc)->com.lucene.search.CategoryFilter@dd5415
7,Hyper Estraier是一个用C语言开发的全文检索引擎,
具有高速度,高稳定性,高可扩展性?提供java,ruby的调用方法
<迅速搭建全文搜索平台——开源搜索引擎实战教程>
http://www.162cm.com/archives/date/2007/07/18
 
分享到:
评论

相关推荐

    lucene笔记.pdf

    lucene笔记

    lucene笔记共38页.pdf.zip

    《Lucene笔记共38页.pdf》是一部深入探讨Apache Lucene全文搜索引擎库的详细资料,这份笔记涵盖了Lucene的核心概念、关键技术和实际应用。Lucene是Java开发的开源信息检索库,广泛应用于各种搜索和信息提取场景。...

    Lucene笔记:全文检索的实现机制

    ### Lucene笔记:全文检索的实现机制 #### 全文检索与中文支持 在全文检索领域,Lucene作为一款开源的高性能全文检索引擎,被广泛应用于各种场景之中。特别是对于中文用户而言,如何确保Lucene能够高效地支持中文...

    Lucene笔记.doc

    【Lucene】 Apache Lucene 是一个开源的全文检索库,属于Java开发的文本搜索工具包。它不是一个完整的搜索引擎,而是一组用于构建全文检索应用的基础组件。Lucene提供了核心的索引和搜索功能,包括分词、建立倒排...

    Lucene笔记

    ### Lucene概述 Lucene是一个高性能、全功能的文本搜索库,它被广泛应用于各种规模的应用程序之中。作为一款开源工具,Lucene提供了强大的搜索功能,使得开发者能够轻松地为自己的应用添加搜索功能。 #### 官方...

    lucene使用总结笔记

    lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记

    传智播客Lucene课程课堂笔记

    传智播客Lucene课程课堂笔记

    Lucene 课堂笔记

    ### Lucene 课堂笔记知识点详解 #### 一、信息检索概览 **1.1 信息检索的概念** 信息检索指的是从海量信息集中筛选出与用户需求相关联的信息。本课程主要探讨文本信息的检索,虽然实际应用中还可能涉及图像、音频...

    lucene文档笔记详解

    **Lucene文档笔记详解** Lucene,源自Apache软件基金会4 Jakarta项目组,是一个备受开发者青睐的开源全文检索引擎工具包。它提供了强大的文本分析、索引构建和搜索功能,但值得注意的是,Lucene本身并不包含完整的...

    lucene课程笔记

    关于lucene开发的工作笔记,详细的介绍了lucene的索引在创建过程中应该主意的一些事项和要求

    Lucene 学习笔记 1

    **Lucene 学习笔记 1** Lucene 是一个全文搜索引擎库,由 Apache 软件基金会开发。它提供了一个可扩展的、高性能的搜索框架,使得开发者能够在其应用程序中集成高级的搜索功能。本篇学习笔记将深入探讨 Lucene 的...

    lucene3.5学习笔记

    ### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...

Global site tag (gtag.js) - Google Analytics