- 浏览: 313738 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
TermQuery只能精确匹配字符串(包括分词后的字符串,不分词的就需要全部匹配),不能用于数字的匹配。
1、创建IndexReader ,创建IndexSearcher
public IndexSearcher getSearcher(Directory directory) {
try {
if(reader==null) {
reader = IndexReader.open(directory);
} else {
IndexReader tr = IndexReader.openIfChanged(reader);
if(tr!=null) {
reader.close();
reader = tr;
}
}
return new IndexSearcher(reader);
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
2、创建Term和TermQuery,根据TermQuery获取TopDocs,根据TopDocs获取ScoreDoc,根据ScoreDoc获取相应文档
public void searchByTerm(String field,String name,int num) {
try {
IndexSearcher searcher = getSearcher();
Query query = new TermQuery(new Term(field,name));
TopDocs tds = searcher.search(query, num);
System.out.println("一共查询了:"+tds.totalHits);//tds.totalHits是总记录数,和传入的num没有任何关系,num表示本次查询多少条记录
for(ScoreDoc sd:tds.scoreDocs
) {
Document doc = searcher.doc(sd.doc)
;
System.out.println(doc.get("id")+"---->"+
doc.get("name")+"["+doc.get("email")+"]-->"+doc.get("id")+","+
doc.get("attach")+","+doc.get("date"));
}
searcher.close();
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
发表评论
-
二十七、Luence在项目中运用
2012-12-26 15:03 1091public class LuceneContext { ... -
二十六、solr的基本使用
2012-12-26 10:26 959public class Message { p ... -
二十五、solr与tomcat的整合
2012-12-25 13:52 10481、solr是全文搜索服务器,专门用户管理索引的。 2 ... -
二十四、通过NRTManager和SearchManager实现近实时搜索
2012-12-21 11:35 1347是否进行实时搜索 实时搜索(近实时搜索) ... -
二十三、高亮显示
2012-12-20 09:24 1006public void lighter01() { ... -
二十二、Tika
2012-12-20 09:24 956Tika是2008年才产生的一个apache的项目,主要用于打 ... -
二十一、Luke
2012-12-20 09:24 807luke是一个查询索引的工具,使用时必须注意:版本要与luce ... -
二十、自定义过滤器
2012-12-20 09:23 865有的应用有些要求,对于某类型的内容即使满足条件了,但是也不 ... -
十七、搜索过滤
2012-12-20 09:23 628public void searcherByFilter(St ... -
十九、自定义QueryParser
2012-12-19 16:28 1217原因: 1、对于某些Quer ... -
十八、自定义评分
2012-12-19 16:18 789public class MyCustomScoreProvi ... -
十六、搜索排序
2012-12-19 12:14 1026public void searcherBySort(Stri ... -
十五、实现简单同义词分词器
2012-12-19 11:41 1252public interface SamewordContex ... -
十四、中文分词器
2012-11-28 13:49 860中文分词器 : Paoding:庖丁解牛分词器。 ... -
十三、自定义Stop分词器
2012-11-28 13:42 760import java.io.Reader; impor ... -
十二、Attribute
2012-11-28 13:20 822Attribute : ... -
十一、分词器的核心类
2012-11-28 13:12 900Analyzer : SimpleAnalyz ... -
十、分页搜索
2012-11-27 17:30 873分页查询有两种实现方式: 1、再查询 ... -
九、Queryparser
2012-11-27 17:24 993Mike 默认域包含mike Mi ... -
八、其他搜索Query
2012-11-27 10:30 653TermRangeQuery : 字母范围搜索 ...
相关推荐
本文将详细介绍如何利用Lucene来实现一个简易的搜索引擎,同时涵盖其HTML解析功能。 一、Lucene核心组件与工作流程 1. 文档索引:Lucene首先需要对数据进行索引,这个过程包括分词、词性标注、建立倒排索引等步骤...
在提供的压缩包"LuceneOldSearch"中,可能包含了使用旧版本Lucene实现的一个简单的搜索引擎示例。这个示例可能涵盖了从建立索引到执行查询的完整流程,以及如何处理文本数据和错误检查。学习这个示例能帮助开发者更...
**Lucene实现企业搜索实例** 在企业环境中,高效、精准的搜索能力是至关重要的,它可以帮助员工快速定位信息,提高工作效率。Apache Lucene是一个开源的全文检索库,它提供了强大的文本搜索功能,能够帮助企业构建...
本主题聚焦于“Elasticsearch Java代码实现”,将深入探讨如何使用Java API来执行基本的操作,如创建索引、删除索引、更新索引、模糊搜索以及模糊全文搜索和精确查找。 首先,让我们从`ESManager.java`开始,这个类...
`TermQuery`是`Query`的实现之一,是最基础的查询类型。它的构造函数`TermQuery(new Term(“fieldName”,”queryWord”))`接受一个`Term`对象作为参数,用于表示我们要执行的精确匹配查询。这意味着,只有当文档中的...
- 通过一个简单的示例来展示如何使用Lucene创建索引以及如何执行基本的全文搜索操作。 #### 三、Lucene内置Query对象 - Lucene提供了多种查询对象,如TermQuery、BooleanQuery、PhraseQuery等,这些对象用于构造...
Apache Lucene 是一个高度可扩展的全文检索库,它为开发者提供了一套强大的搜索引擎功能,以便在各种应用程序中实现复杂的全文搜索。Lucene 不是一个独立的搜索引擎产品,而是需要开发者将其集成到自己的系统中,以...
Elasticsearch是一个强大的分布式搜索引擎,基于Lucene库构建。在Java API中,与Elasticsearch交互,特别是进行搜索操作,主要是通过使用`QueryBuilder`对象来构造JSON格式的查询条件。本篇文章将深入探讨如何利用...
综上所述,这个公交搜索系统是一个典型的基于Java和Lucene技术的应用案例,通过灵活运用Java语言的优势和Lucene的强大功能,实现了高效的数据索引和搜索能力。对于开发者而言,了解和掌握这种技术组合的实现细节,...
### 搜索引擎中的分词与查找技术 在探讨搜索引擎中的分词技术和查找机制之前,我们首先需要理解几个基本概念:分词(Tokenization)、词干提取(Stemming)和词形还原(Lemmatization)。这些技术是构建高效、准确...
Apache Lucene 是一个高性能、全文本搜索引擎库,它为开发者提供了在各种应用程序中实现全文检索的工具集。Lucene 并不是一个完整的应用,而是一个 Java 类库,可以被其他 Java 应用程序所使用。在这个搜索实例中,...
压缩包中的`SampleLuceneNet`可能包含一个简单的示例,演示了如何使用Lucene.NET创建索引、执行搜索以及处理结果。通过阅读和运行这个示例,你可以更直观地了解上述概念的实现。 总结来说,Lucene.NET为.NET开发者...
实现域搜索的关键在于使用`Field`对象和`TermQuery`或`BooleanQuery`。清单2演示了如何利用API进行域搜索。 除了基本的布尔和域搜索,Lucene还支持更高级的搜索特性,如短语搜索、模糊搜索、范围搜索、评分和排序等...
MultifieldQueryParser可以将多个字段合并到一个查询中,从而实现多字段搜索。下面是一个简单的示例代码: ```java query query = multifieldqueryparser.parse("name*", new string[] {fieldname, fieldvalue}, ...
SimpleAnalyzer 是一个简单的 Analyzer,适合简单的文本切分。SmartChineseAnalyzer 是一个中文 Analyzer,适合中文文本的切分。 Lucene 的实现需要具备一定的 Java 基础知识和全文检索的知识,包括 Java 语言基础...
- **顺序查询**:是最简单的查询方式,直接遍历索引,效率较低。 - **索引查询**:基于预构建的索引结构,能够快速找到匹配的文档,是Lucene的主要查询方式。 2. **理论模型**: - **布尔模型**:基于集合论和...
Lucene是一款高性能、全功能的文本搜索引擎库,被广泛应用于各种需要实现全文检索的应用场景之中。Lucene支持复杂的查询语法,能够灵活地处理多样化的查询需求,使得用户能够精确地找到所需的信息。 #### 二、...
总之,Lucene在C#中的时间区间搜索是通过构建和执行RangeQuery来实现的,这涉及到索引构建、查询解析、时间值的转换和比较等多个环节。合理地利用这些技术,可以有效地提升数据检索的效率和准确性。在实际应用中,还...
- **使用 Query 子类查询**:通过创建 Query 对象(如 TermQuery、PhraseQuery 等)直接指定搜索条件。 - **使用 QueryParser 查询**:QueryParser 提供了一种更灵活的方式来构造查询,它可以自动处理关键词的语法和...