- 浏览: 1064711 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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搭建完美的及时通讯
LUCENE提供了一种模糊搜索的机制。
代码:
public static void main(String[] args) {
try {
IndexSearcher search = new IndexSearcher("d://demo");
Term term1 = new Term("bookname","work");
FuzzyQuery query = new FuzzyQuery(term1,0.1f,1);
Hits hits = search.search(query);
for(int i=0;i<hits.length();i++)
{
System.out.println(hits.doc(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
结果;
Document<stored/uncompressed,indexed,tokenized<bookname:work>>
Document<stored/uncompressed,indexed,tokenized<bookname:word>>
Document<stored/uncompressed,indexed,tokenized<bookname:world>>
注释:首先构建了一个TERM,并将其作为FuzzyQuery的构造函数,对于FuzzyQuery有两个构造函数,
public FuzzyQuery(Term term,float minimumSimilarity) throws IllegalArgumentException
public FuzzyQuery(Term term,float minimumSimilarity,int prefixLength) throws IllegalArgumentException
minimumSimilarity表示是最小相似度,可以通过指定一个相似度来决定模糊匹配的严格程度。默认为0.5,当这个值越小,通过模糊查找出的文档的匹配程度就越低,文档的数量也就越多;当这个值越大,说明要匹配程度更大,匹配的文档数也就越少,当相似度设置为1,那么就退化为TermQuery查询,所以当这个值>=1或<0会抛出IllegalArgumentException异常。
另外一个参数prefixLength表示在进行模糊匹配的时候,要有多少个前缀字母必须完全匹配。例如当该值设置为“1”,则表示所有此条只有第一个字母与检索关键字相符时,才会被集合选中。
以上程序设置相似度为0.1f,并且匹配第一个字母相符的检索结果。
- FuzzyQueryDemo.rar (1.2 KB)
- 下载次数: 32
发表评论
-
使用Lucene-Spatial实现集成地理位置的全文检索
2015-05-27 17:33 1330Lucene通过Spatial包提供了对基于地理位置的 ... -
Lucene4.10.2开发之高亮显示
2015-05-05 23:13 596转载请注明,原创地址,谢谢配合! http://qindo ... -
bobo-browse
2011-02-10 10:22 2803bobo-browse 是一款用java写的lucene扩展组 ... -
Lucene 2 通过updateDocument更新索引
2010-12-30 15:47 2061package com.lucene; i ... -
Lucene 3建立索引和查询索引详解
2010-12-22 23:02 1843public void index() throws Corr ... -
Lucene3 查询索引
2010-12-22 22:46 1772package lucene3; import java.i ... -
Lucene3 建立索引
2010-12-22 22:25 1404Lucene3在建立索引的API上有比较大的变化。直接上程序: ... -
Lucene 3.0的简单解析及变化
2010-12-22 21:59 1143一、 概述 Lucene3 ... -
Lucene分词器之庖丁解牛
2010-12-22 07:47 3491注意:这里配置环境变量要重新启动系统后生效 我现在测试 ... -
Lucene从结果中取出数据
2010-12-21 20:23 1234有些应用,比如我们首先要搜索一个Person的索引文件,然后通 ... -
Lucene过滤器
2010-12-21 20:05 3795有的应用有些要求,对于某类型的内容即使满足条件了,但是也不能被 ... -
Lucene对于短语匹配查询的用法
2010-12-21 17:41 1378通常对于ID查询或者是比较确定字段内容的查询,我们就用: T ... -
Lucene 对所查的结果进行排序
2010-12-20 23:01 1224前面介绍完查询以后,现在要对查询结果进行排序的显示。 代码: ... -
Lucene 搜索方法(多短语搜索)
2010-12-20 11:42 1193短语搜索解决了短语搜索的问题,在很多情况下,用户输入某个关键字 ... -
Lucene 搜索方法(短语搜索)
2010-12-20 11:15 1827用户在搜索的时候,更多的情况是输入一个以上的关键字,这些关键字 ... -
Lucene 搜索方法(前缀搜索)
2010-12-20 10:27 1887PrefixQuery是一种前缀搜索,在检索的时候,常常需要进 ... -
Lucene 的索引读取工具(IndexReader)
2010-12-19 23:00 1613Lucene有一个很重要的工具IndexReader负责对索引 ... -
Lucene 搜索方法(范围搜索)
2010-12-19 22:54 1293在某些情况下,用户需要查找一定范围内的文档,比如时间,ID等。 ... -
Lucene 搜索方法(布尔搜索)
2010-12-19 22:04 1622布尔搜索: 布尔查询的对象中,包含一个子句的集合。各种子句间都 ... -
Lucene 搜索方法(词条搜索)
2010-12-19 21:15 1262词条搜索是LUCENE最为简单的一种搜索方式,通过对某个固定的 ...
相关推荐
《Lucene全文搜索:分组、精确查找与模糊查找详解》 在IT行业中,全文搜索引擎的使用越来越广泛,而Apache Lucene作为一款强大的开源全文检索库,深受开发者们的喜爱。它提供了高效的索引和查询功能,使得在海量...
这对于那些需要提供实时、模糊或建议式搜索体验的应用来说尤其重要。 首先,前缀搜索的核心在于`PrefixQuery`类,它是Lucene提供的一个查询类,用于执行以特定前缀开头的搜索。在`PrefixQueryDemo.java`文件中,...
总之,Lucene作为Java全文搜索的基石,提供了强大的功能和灵活性,可以帮助开发者构建高效、精准的搜索功能,无论是简单的关键词搜索还是复杂的模糊和智能查询,都能游刃有余地应对。结合"用户管理手册.docx"的学习...
模糊查询是Lucene中的一个重要特性,它允许用户输入部分关键词或者使用通配符来进行搜索。例如,用户可以输入"计算*"来查找所有以"计算"开头的词汇。在Lucene中,我们可以使用`QueryParser`类来构造模糊查询的`Query...
5. **拼音和同义词支持**: 引入拼音库和同义词库,提高对中文模糊搜索的支持。 总之,Lucene站内搜索提供了一套强大且灵活的搜索框架,通过合理的配置和优化,可以实现高效、准确的站内信息检索。在实际项目中,...
### 利用Lucene实现高级搜索的关键知识点 #### Lucene简介 ...总之,Lucene提供了丰富的搜索功能,包括布尔操作符、域搜索、通配符搜索、模糊查询和范围搜索,使开发者能够根据具体需求定制高级搜索应用。
5. **模糊搜索**:支持通配符、短语、近似和模糊搜索,提高搜索灵活性。 6. **高可用性**:Lucene可以与其他Java项目无缝集成,支持多线程和分布式环境。 使用Lucene的基本步骤包括: 1. **创建索引**:首先,需要...
与传统基于SQL数据库的搜索引擎相比,基于Lucene的搜索引擎在处理大规模数据集时,特别是在需要全文检索和模糊搜索的情况下,更加高效。文章中的新闻搜索引擎通过使用Lucene的API,相比普通搜索引擎,提高了搜索的...
Lucene还提供了许多高级功能,如近实时搜索(NRT)、多字段搜索、模糊查询、短语查询、通配符查询、正向索引、倒排索引等。同时,Lucene支持分布式搜索,通过Solr或Elasticsearch等工具,可以构建大规模的企业级搜索...
3. **模糊查询(Fuzzy Queries)**:允许用户输入近似术语,如 "lucen~" 可匹配 "lucene" 和 "luken"。 4. **范围查询(Range Queries)**:筛选在一定范围内的数值或日期。 5. **评分(Scoring)**:Lucene 会计算...
这种方法广泛应用于各种场景,如搜索引擎、文档管理系统、知识库查询等。全文检索与数据库中的LIKE关键字查询不同,LIKE虽然能进行模糊匹配,但其结果可能不准确,没有相关度排序,且效率较低。 【Lucene简介】 ...
《深入探索Lucene5:拼音搜索的实现与应用》 Lucene是一个强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在Lucene5版本中,它不仅提供了基础的文本搜索功能,还支持了拼音搜索,这极大地提高了中文搜索的...
对学习lucene开发的人员来说这个项目非常有价值 值得参考">项目的页面都存在WebRoot WEB INF jsp下 网上搜索博客园网页的地址 输入到相应搜索框 该项目可以自动对博客园网站中的文章 项目中限制了文章数量 建立...
除了基础功能,Weblucene还提供了许多高级特性,如布尔查询、短语搜索、模糊匹配、近似搜索等。你可以根据具体需求,学习并应用这些特性来提升搜索体验。 **5. 维护与升级** 为了保证Weblucene的稳定性和安全性,...
**基于Lucene的桌面搜索引擎** 在信息技术飞速发展的今天,数据量激增,高效的信息检索变得至关重要。桌面搜索引擎作为个人信息管理的重要工具,可以帮助用户快速、准确地定位存储在本地计算机中的文件和信息。本...
**全文搜索-Lucene** Lucene 是一个开源的全文搜索引擎库,由 Apache 软件基金会维护。它提供了高效的、可扩展的全文检索功能,被广泛应用于各种 Web 应用、内容管理系统以及数据挖掘项目中。Lucene 实现了索引和...
### 基于Lucene的语段模糊匹配中文检索系统设计与实现 #### 一、引言 随着信息技术的发展,信息检索技术在图书馆等领域的应用变得越来越重要。然而,在实际应用过程中,用户经常面临的问题是:能够记住文章或书籍...