- 浏览: 1042178 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
前面介绍完查询以后,现在要对查询结果进行排序的显示。
代码:
package com.querytype;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
public class QuerySortDemo2 {
/**
* @param args
*/
public static void main(String[] args) {
try {
/*
* Document doc1 = new Document(); Field f1 = new
* Field("bookNumber","003",Field.Store.YES, Field.Index.TOKENIZED);
* Field f2 = new Field("bookname","钢铁是怎样炼成的",Field.Store.YES,
* Field.Index.TOKENIZED); Field f3 = new
* Field("publishdate","1970-01-01",Field.Store.YES,
* Field.Index.TOKENIZED); doc1.add(f1); doc1.add(f2); doc1.add(f3);
* Document doc2 = new Document(); f1 = new
* Field("bookNumber","001",Field.Store.YES, Field.Index.TOKENIZED);
* f2 = new Field("bookname","钢铁是怎样炼成的2",Field.Store.YES,
* Field.Index.TOKENIZED); f3 = new
* Field("publishdate","1990-01-01",Field.Store.YES,
* Field.Index.TOKENIZED); doc2.add(f1); doc2.add(f2); doc2.add(f3);
* Document doc3 = new Document(); f1 = new
* Field("bookNumber","004",Field.Store.YES, Field.Index.TOKENIZED);
* f2 = new Field("bookname","钢铁是怎样炼成的4",Field.Store.YES,
* Field.Index.TOKENIZED); f3 = new
* Field("publishdate","1980-01-01",Field.Store.YES,
* Field.Index.TOKENIZED); doc3.add(f1); doc3.add(f2); doc3.add(f3);
*
* Document doc4 = new Document(); f1 = new
* Field("bookNumber","004",Field.Store.YES, Field.Index.TOKENIZED);
* f2 = new Field("bookname","钢铁是怎样炼成的4",Field.Store.YES,
* Field.Index.TOKENIZED); f3 = new
* Field("publishdate","1970-01-01",Field.Store.YES,
* Field.Index.TOKENIZED); doc4.add(f1); doc4.add(f2); doc4.add(f3);
*
*
* File file = new File("d://demo"); Analyzer luceneAnalyzer = new
* StandardAnalyzer(); IndexWriter writer = new IndexWriter(file,
* luceneAnalyzer, true); writer.setUseCompoundFile(true);
* writer.optimize(); writer.addDocument(doc1);
* writer.addDocument(doc2); writer.addDocument(doc3);
* writer.addDocument(doc4); writer.close();
*/
IndexSearcher search = new IndexSearcher("d://demo");
String field = "bookname";
String queryStr = "钢铁";
QueryParser parser = new QueryParser(field, new StandardAnalyzer());
Query q = parser.parse(queryStr);
//上面的查询是通过QueryParser来查询,下面通过SORT来进行排序,排序规则是首先根据bookNumber来排序,然后再根据publishdate来排序,第二个参数表示该字段是什么类型,第三个字段表示排列顺序(FALSH:升序,TRUE:降序)
Sort sort = new Sort();
SortField f1 = new SortField("bookNumber", SortField.INT, false);
SortField f2 = new SortField("publishdate", SortField.STRING, false);
sort.setSort(new SortField[] { f1, f2 });
//如果指定多个FIELD来进行排序,就把多个FIELD组合成数据塞到SORT中
Hits hits = search.search(q, sort);
System.out.println(q.toString());
for (int i = 0; i < hits.length(); i++) {
Document doc = hits.doc(i);
System.out.println("书名:" + doc.get("bookname") + "\t\t");
System.out.println("书号:" + doc.get("bookNumber"));
System.out.println("出版日期:" + doc.get("publishdate"));
System.out.println("#####################");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
SortField提供的FIELD的类型:string,int,float.指定FIELD的类型对排序过程的效率有巨大的影响。
发表评论
-
使用Lucene-Spatial实现集成地理位置的全文检索
2015-05-27 17:33 1266Lucene通过Spatial包提供了对基于地理位置的 ... -
Lucene4.10.2开发之高亮显示
2015-05-05 23:13 564转载请注明,原创地址,谢谢配合! http://qindo ... -
bobo-browse
2011-02-10 10:22 2225bobo-browse 是一款用java写的lucene扩展组 ... -
Lucene 2 通过updateDocument更新索引
2010-12-30 15:47 2032package com.lucene; i ... -
Lucene 3建立索引和查询索引详解
2010-12-22 23:02 1817public void index() throws Corr ... -
Lucene3 查询索引
2010-12-22 22:46 1749package lucene3; import java.i ... -
Lucene3 建立索引
2010-12-22 22:25 1375Lucene3在建立索引的API上有比较大的变化。直接上程序: ... -
Lucene 3.0的简单解析及变化
2010-12-22 21:59 1116一、 概述 Lucene3 ... -
Lucene分词器之庖丁解牛
2010-12-22 07:47 3454注意:这里配置环境变量要重新启动系统后生效 我现在测试 ... -
Lucene从结果中取出数据
2010-12-21 20:23 1201有些应用,比如我们首先要搜索一个Person的索引文件,然后通 ... -
Lucene过滤器
2010-12-21 20:05 3774有的应用有些要求,对于某类型的内容即使满足条件了,但是也不能被 ... -
Lucene对于短语匹配查询的用法
2010-12-21 17:41 1345通常对于ID查询或者是比较确定字段内容的查询,我们就用: T ... -
Lucene 搜索方法(模糊搜索)
2010-12-20 11:54 3453LUCENE提供了一种模糊搜 ... -
Lucene 搜索方法(多短语搜索)
2010-12-20 11:42 1157短语搜索解决了短语搜索的问题,在很多情况下,用户输入某个关键字 ... -
Lucene 搜索方法(短语搜索)
2010-12-20 11:15 1794用户在搜索的时候,更多的情况是输入一个以上的关键字,这些关键字 ... -
Lucene 搜索方法(前缀搜索)
2010-12-20 10:27 1859PrefixQuery是一种前缀搜索,在检索的时候,常常需要进 ... -
Lucene 的索引读取工具(IndexReader)
2010-12-19 23:00 1587Lucene有一个很重要的工具IndexReader负责对索引 ... -
Lucene 搜索方法(范围搜索)
2010-12-19 22:54 1271在某些情况下,用户需要查找一定范围内的文档,比如时间,ID等。 ... -
Lucene 搜索方法(布尔搜索)
2010-12-19 22:04 1596布尔搜索: 布尔查询的对象中,包含一个子句的集合。各种子句间都 ... -
Lucene 搜索方法(词条搜索)
2010-12-19 21:15 1241词条搜索是LUCENE最为简单的一种搜索方式,通过对某个固定的 ...
相关推荐
传统上,人们将信息检索系统返回结果的排序称为"相关排序" (relevance ranking) ,隐含其中各条目的顺序反映结果和查询的相关程度。
(4) 查询结果过滤(QueryWrapperFilter) 40 5.3 自定义评分 41 (1) 创建一个类继承CustomScoreQuery 41 (2) 创建一个类继承CustomScoreProvider 42 (3) 自定义评分效果测试 43 5.4 自定义QueryParser 44 (1) 限制低...
使用Lucene来搜索内容,搜索结果的显示顺序当然是比较重要的.Lucene中Build-in的几个排序定义在大多数情况下是不适合我们使用的.要适合自己的应用程序的场景,就只能自定义排序功能,本节我们就来看看在Lucene中如何...
Lucene 是一个开源、高度可扩展的搜索引擎库,可以从 Apache Software Foundation 获取。您可以将 Lucene 用于商业和开源应用程序。Lucene 强大的 API 主要关注文本索引和搜索。它可以用于为各种应用程序构建搜索...
其次,利用内存索引和多线程并行处理技术提高Lucene创建倒排索引效率,并依据地名类别和显示优先级属性优化了检索结果相关度排序策略。最后,开发了一套具有快速搜索和地图定位展示的Web地名检索系统,使用500万条...
lucene4.8学习资料和案例,自己学习整理。整理了各种查询,包括分页、排序等!对100W,500W,1000W三个级别的数据量分别进行了测试!
Lucene是一个基于Java的全文索引工具包。 基于Java的全文索引引擎Lucene...另外,如果是在选择全文引擎,现在也许是试试Sphinx的时候了:相比Lucene速度更快,有中文分词的支持,而且内置了对简单的分布式检索的支持
一个简单的lucene demo,使用Lucene5.5+springmvc+mysql开发,包括索引的增删改查,查询中可以高亮显示+分页+自定义排序,有兴趣的朋友可以看看
建立一个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机制,将数据源(比如多篇文章)排序顺序存储的同时,有另外一个排好序的关键词列表,用于存储关键词==>文章映射关系,利用这样的映射关系索引:...
1、 Lucene介绍 a) 什么是lucene b) 全文检索的应用场景 c) 全文检索定义 2、 Luence实现全文检索的流程(重点) 3、 入门程序 4、 Field域(重点) 5、 索引维护 a) 添加索引 b) 删除索引 c) 修改索引 6、 搜索...
Lucene是一个基于Java的全文索引工具包。 1. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的...5. Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的 扩展 6. 从Lucene我们还可以学到什么
Lucene检索主要包括建立索引和对结果文档的排序。搜索结果可视化通过spring MVC框架搭建完整的系统实现。 技术实现主要包括:基于Lucene的全文检索技术,spring MVC框架,java爬虫技术,Python爬虫技术,...
1. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 2. 全文检索的实现:Luene全文索引...5. Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展 6. 从Lucene我们还可以学到什么
使用Lucene进行分布式实时搜索 LuMongo是基于Lucene的实时分布式搜索和存储系统。 LuMongo从头开始设计,可以在服务器之间垂直和水平扩展。 LuMongo将Lucene索引直接存储到MongoDB中。 文档可以本地存储在MongoDB中...
2. 对字典按字母顺序进行排序。 ................................................................................ 17 3. 合并相同的词(Term)成为文档倒排(Posting List)链表。 ..................................
搜索引擎一般由搜索器、索引器、检索器和用户接口四个部分组成: ... 其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要输出的结果排序,并能按用户的查询需求合理反馈信息;
Lucene 3.6.1: 中文分词、创建索引库、排序、多字段分页查询以及高亮显示源 希望对大家有帮助, 我自己建立的mysql数据库 使用了IKAnalyzer分词器源代码,大家可以自己设置停词,也可以自己改写算法
按任何字段进行日期范围搜索和排序。 增量索引与批量索引一样快。 Quartz.NET 引擎,用于搜索索引服务的自定义作业调度。 自动和安排 Lucene 搜索索引的构建。 用于记录系统消息的通用日志框架。 您可以为严重和非...
基于Lucene的排序 查询方式(包括但不限于) - 名称(包括通配符)、直接模板、基本模板、祖先、父级、语言或任意组合 查询操作 - 例如删除术语并重新运行。 为什么将 Lucinq 用于 Sitecore 简而言之,它更快。 在...
支持对结果进行动态的分组和过滤 高级的,可配置的文本分析 高度可配置和可扩展的缓存机制 5/8/2011 Page 4 5/8/20112009-02-17 版权所有,侵权必究All rights reserved 第4页,共56页Page 4 , Total56 ...