`
wangzhen5
  • 浏览: 79608 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

lunece查询实例.

阅读更多
lunece查询
//初始化IndexSearcher
IndexSearcher search = new IndexSearcher(path);
//构建Term
Term term = new Term(fieldName,value);
//构建Query对象
Query q = new TermQuery(term);
//检索
Hits hits = search.search(q);
//显示查询结果
for(int i=0; i<hits.length(); i++)
{
System.out.println(hits.doc(i));
}
IndexSearcher的常用方法有
search(Query q);
search(Query q,Filter filter);
search(Query q,Sort sort);
search(Query q,Filter filter,Sort sort);

Hits的常用方法有
doc(i); //得到第i个Document
id(i);  //得到第i个Document在lucene文件中的id号
length(); //结果集的数量
score(i); //第i个Doucment的文档得分,默认显示方式为score值越高,排得越前。score取值0-1之间
如果想提高score的值。可以有建立索引时设置,用Field.setBoost(Float f)方法
Field f = new Field(fieldname,value,store,tokenized);
f.setBoost(5f);

在lucene中,document ID 越小,查询时所需时间越短,因为Hits的内部缓存机制。

Lunece的常用搜索

一、TermQuery 词条搜索
Query query = new TermQuery(new Term(fieldname,value));

二、BooleanQuery 布尔搜索
建立二个TermQuery
Query q1 = new TermQuery(new Term(fieldname1,value1));
Query q2 = new TermQuery(new Term(fieldname2,value2));
建立BooleanQuery对象
BooleanQuery query = new BooleanQuery();
query.add(q1,BooleanClause.Occue.MUST);
query.add(q2,BooleanClause.Occue.MUST);
BooleanClause.Occue 有三个静态值
MUST,MUST_NOT,SHOULD
must&&must = (AnB)
must&&must_not = (A-(AnB))
should&&should = (AuB)

三、RangeQuery 范围搜索
RangeQuery query = new RangeQuery(begin,end,false);
begin = new Term(fieldname,value);
end = new Term(fieldname,value);
false 表示开区间 不包括 (begin,end) true 表示闭区间 包括 [begin,end]

四、PrefixQuery 前缀搜索
PrefixQuery query = new PrefixQuery(new Term(fieldname,value));

五、PhraseQuery 短语搜索
PhraseQuery query = new PhraseQuery();
query.add(new Term(fieldname,value));
query.add(new Term(fieldname,value));
还可以设置坡度,query.setSlop(int n),默认为0如查询“钢铁”,可以用
query.add(new Term(fieldname,”钢”));
query.add(new Term(fieldname,”铁”));
如想把“钢和铁”,“钢与铁”也查询出来。可以加上query.setSlop(1);

六、MultiPhraseQuery 多短语搜索
MultiPhraseQuery query = new MultiPharseQuery();
//加入短语的前缀
query.add(new Term(fieldname,value));
//加入短语的后缀
query.add(new Term[] {new Term(fieldname,value), new Term(fieldname,value)});

七、FuzzyQuery 模糊搜索
FuzzyQuery query = new FuzzyQuery(new Term(filed,value));
它的三个构造函数
FuzzyQuery(Term t);
FuzzyQuery(Term t,float 0.5f); 相似度。0-1之间
FuzzyQuery(Term t,float 0.5f,int prefixLength);前缀必须相同的长度

分享到:
评论

相关推荐

    lunece 建立索引与查询示例

    lunece 建立索引与查询示例lunece 建立索引与查询示例lunece 建立索引与查询示例lunece 建立索引与查询示例lunece 建立索引与查询示例lunece 建立索引与查询示例

    lunece_search_3.0.zip_lunece+es

    学习lunece的一个小例子,实现一些基本的搜索功能~

    lunece全文检索C#

    lunece

    dotlucenetest.jar

    lunece 的.net应用实例.

    lunece

    lunece全文检索

    lunece入门之HelloWorld

    NULL 博文链接:https://huhongyu.iteye.com/blog/1929626

    lunece 学习笔记实用知识库分享知识分享

    资源lunece 学习笔记实用知识库分享知识分享

    最新版linux lucene-8.5.1.tgz

    最新版linux lucene-8.5.1.tgz

    Lucene.net高速创建索引

    对sqlserver数据库表,用多线程,高速创建索引。性能很高。参数灵活

    lucene-4.10.2

    这个压缩包包lucene所需的jar包-----------------------

    Lucene检索

    一个简单Lucene全文检索案例 A simple Lucene text retrieval case

    仿google的搜索

    google搜索时时显示数据,利用ajax和lunece技术实现。lunece获取查询数据,然后用ajax操作鼠标和键盘达到效果。

    全文检索 lucene

    作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucene作为...

    NLuke.rar_NLuke

    NLuke 一个可以查看lunece索引文件的工具哦

    Lucene+in+action中文版

    Lucene+in+action中文完整版-含目录,学习lunece必备

    solr的学习

    Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。

    最新.net技术博客源代码.rar

    自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可以和中科院的ICTCLAS相媲美,结合当前最成熟的Lunece的.net版本,实现了功能强大执行快速的全文检索引擎...

    Blog-online-System:已经上线的SpringBoot博客项目

    SpringBoot +Shiro+Mybatis +Thymeleaf +Layui+mysql+Lunece 图片使用的七牛云,属性设置在类cn.coderzhx.utils.VariableName里 如果不想用七牛云那么修改为为tomcat的upload目录 如果仅仅是本地运行项目的话,七牛云...

    x3blog 单用户博客系统 1.0.80802 源代码

    5.自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可以和中科院的ICTCLAS相媲美,结合当前最成熟的Lunece的.net版本,实现了功能强大执行快速的全文检索引擎。...

    x3blog 单用户博客系统 1.0.80802 编译版

    5.自主研发的中文分词技术,速度超过3MB/s,准确率达到90%以上,大大超过网上各种开源中文分词技术,几乎可以和中科院的ICTCLAS相媲美,结合当前最成熟的Lunece的.net版本,实现了功能强大执行快速的全文检索引擎。...

Global site tag (gtag.js) - Google Analytics