`
mjbb
  • 浏览: 86770 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Lucene-----索引目录,索引排序,高亮器,索引查询,

阅读更多

1.索引目录的提取方案:这里既可以每个单独使用,也可以嵌套使用
//这里采用了一些优化措施:先从外存中取出索引,然后存到内存中
	Directory fsdirectory = FSDirectory.getDirectory(path);//把索引库放到外存中使用
	RAMDirectory directory= new RAMDirectory(fsdirectory);//把索引库放到内存中使用
	IndexSearcher indexSearcher = new IndexSearcher(directory);
2.高亮器的使用:
     1.定义高亮器
Formatter formatter = new SimpleHTMLFormatter("<font color='red'>", "</font>");
	Scorer scorer = new QueryScorer(query);
	Highlighter highlighter = new Highlighter(formatter, scorer);

	// 默认值100既把在取出来前面多少个词中取关键词
	Fragmenter fragmenter = new SimpleFragmenter(50); 

	highlighter.setTextFragmenter(fragmenter);
      2.使用高亮器:
       //在这里使用高亮
String text = highlighter.getBestFragment(analyzer,"content",document.get("content"));
	if(text!=null){
		//修改传过去的内容
		document.getField("content").setValue(text);
	}//注意要在转换之前使用高亮器,不让起不到高亮的作用了
	Article article = ArticleDocumentUtils
	.Document2Article(document);
	list.add(article);
3.排序查询的使用:(默认的情况,根据相关度排序)
1).相关度排序:在建立索引的时候,
   ①.在Field上做文章:
f.setBoost(2F); // 默认值为1F,在存入索引库的时候,就给他个评分参数
   ②.在Document上做文章:
doc.setBoost(2F);//默认值为1F,
2).制定字段排序
   ①.
Sort sort = new Sort(new SortField("id", true)); 
	      // 生成排序器,为true表示降序,为false表示升序
   ②.
TopDocs topDocs = indexSearcher.search(query, null, 100, sort);
	      //指定排序器,使用
4.Query 查询
       1).词查询(Term
):Query query = new TermQuery(new Term("content", "相关度"));


       2).范围查询(Rangle):根据词的范围
Term lowerTerm = new Term("id", NumberTools.longToString(3));
		Term upperTerm = new Term("id", NumberTools.longToString(10));
		// Query query = new RangeQuery(lowerTerm,upperTerm, true);
		// 不包含边界,相应的queryString为:id:{00000000000003 TO 0000000000000a}
		Query query = new RangeQuery(lowerTerm, upperTerm, false);

       3).通配符查询(Wildcard)// ? 代表一个字符// * 代表0个或多个字符:
Query query = new WildcardQuery(new Term("content", "相关*"));
       4).布尔查询:这是词查询的组合
布尔查询的时候主要是要在两个关键词进行逻辑运算;
首先建立两个词:
Query query1 = new TermQuery(new Term("content", "检索"));
		Query query2 = new TermQuery(new Term("content", "相关度"));
		然后逻辑运算:
		BooleanQuery booleanQuery = new BooleanQuery();
分享到:
评论

相关推荐

    lucene-4.7.0.

    java全文索引,高亮显示,lucene-4.7.0工具类

    lucene 3.0.1 jar包

    该一整套lucene开发jar包包含以下内容...contrib\analyzers\common\lucene-analyzers-3.0.1.jar(分词器) contrib\highlighter\lucene-highlighter-3.0.1.jar(高亮) contrib\memory\lucene-memory-3.0.1.jar(高亮)

    lucene-solr-4.7所有Jar包 tika包 IK包 mmseg4j包

    包括索引、高亮、IK分词及MMSEG分词 其中MMSEG中的BUG: TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see ...

    lucene 4.7.2 Demo

    lucene 4.7.2支持java 6 ,之后的版本需要java 7以上,创建、删除、修改索引,搜索支持通用对象(可以根据对象类型搜索),可以范围搜索、排序、高亮,希望有所帮助

    Lucene3.0增删改查和关键字高亮实例

    该项目中包括创建索引,增删改查索引,以及关键字高亮显示实例~~对于初学者很有帮助,该项目是基于Lucene3.0

    Lucene 3.6 学习笔记

    目录 序言: 1 第一章 LUCENE基础 2 1.1 索引部分的核心类 2 1.2 分词部分的核心类 2 1.3 搜索部分的核心类 2 第二章 索引建立 3 2.1 创建Directory 3 2.2 创建Writer 3 2.3 创建文档并且添加索引 4 2.4 查询索引的...

    android+lucene实现全文检索并高亮关键字索引库

    此资源配合《android+lucene实现全文检索并高亮关键字》使用http://download.csdn.net/detail/reality_jie/6335113

    lucene检索实例代码,自己总结的非常详细

    文档中包含Lucene4.0.0版本jar包,中文分词器jar包,Lucene实例代码 1:建立索引 2:各种搜索方式方法 3:删除索引 4:检查索引文件 5:恢复删除的索引 6:强制删除 7:更新索引 8:合并索引 9:高亮回显 供大家参考...

    lucene实现全文搜索

    全文检索介绍 索引 分词 Lucene介绍 Lucene应用详解 索引器 检索器 条件查询 实用工具及高亮器 Lucene综合应用——仿搜索引擎

    Lucene 3.0.1 全文检索引擎的架构 对文件,数据库建索引,及查询(高亮显示)

    NULL 博文链接:https://gaojunwei.iteye.com/blog/1842881

    Hbase 二级索引方案

    Solr 可以高亮显示搜索结果,通过索引复制来提高可用,性,提供一套强大 Data Schema 来定义字段,类型和设置文本分析,提供基于 Web 的管理界面等。 Key-Value Store Indexer 这个组件非常关键,是 Hbase 到 Solr ...

    Go文本索引库Bleve.zip

    go 数据架构索引,包括 JSON 通过强大的配置智能默认备份支持字段类型Text, Numeric, Date支持查询类型Term, Phrase, Match, Match Phrase, PrefixConjunction, Disjunction, BooleanNumeric Range, Date Range人类...

    利用lucene实现文档关键字检索

    这是lucene的使用案例,实现了对word文档中的关键字检索,并将检索出的内容高亮打印出来

    博客园文章搜索项目(Lucene)

    然后在自己的搜索页面可以进行搜索 搜索结果会像百度一样高亮显示 框架使用的是SSH 对学习lucene开发的人员来说这个项目非常有价值 值得参考"&gt;项目的页面都存在WebRoot WEB INF jsp下 网上搜索博客园网页的地址 ...

    Lucene3.教程.ppt(学习的ppt)

    Java全文检索器 Lucene3.6教程 搜索引擎介绍 Lucene介绍、结构分析 Lucene的全文索引实现 Lucene原理分析、优化 中文分词器使用 高亮器的使用 过滤与排序 常见的各种搜索 如果需要源码的,请到我的资源去找,谢谢

    java结合lucene做的的搜索引擎

    是使用java+lucene+jsp开发的搜索引擎。其中包括排序,高亮显示,以及分页等功能。效果类似百度,很炫。

    Lucene基于java的全文检索案例

    lucene基于java的全文检索,实现了索引添加,删除,修改,高亮显示查询

    lucene5.5demo

    一个简单的lucene demo,使用Lucene5.5+springmvc+mysql开发,包括索引的增删改查,查询中可以高亮显示+分页+自定义排序,有兴趣的朋友可以看看

Global site tag (gtag.js) - Google Analytics