第一、按词条搜索 - TermQueryquery = new TermQuery(new Term("name","word1"));hits = searcher.search(query); 这样就可以把 field 为 name 的所有包含 word1 的文档检索出来了。第二、“与或”搜索 ...
分类:
Web程序 时间:
2015-04-30 10:29:09
阅读次数:
157
在Lucene索引的搜索过程中,构建Query对象是一个十分重要的过程,在这篇博客中,我们将重点介绍几种常用的Query子类:QueryParser、MultiFieldQueryParser、TermQuery、PrefixQuery、PhraseQuery、WildcardQuery、TermRangeQuery、NumericRangeQuery、BooleanQuery...
分类:
Web程序 时间:
2015-01-21 16:37:28
阅读次数:
197
luncene 各种Query类详解实例,包括词条搜索类TermQuery “与或”搜索类——BooleanQuery 在某一范围内搜索类——RangeQuery 使用前缀搜索类——PrefixQuery 多关键字搜索——PhraseQuery 短语词缀搜索——PhrasePrefixQuery 相近词语的搜索——FuzzyQuery...
分类:
其他好文 时间:
2014-12-11 12:22:36
阅读次数:
242
以下这几种lucene内置查询对象,不过在实际的项目开发中,这种查询方式应用的不多。一般用QueryParser去获取查询对象。因为QueryParser内部基本实现了所有的内置查询对象。
这是最常见的QueryParse的写法:
这是对term(最小分词单元)的查询:
多值查询(BooleanQuery)可以用来连接多个子查询:
前缀搜索(PrefixQuery),注意也是对词的前缀搜索:
通配符搜索(WildcardQuery):...
分类:
Web程序 时间:
2014-12-03 21:21:41
阅读次数:
207
Elasticsearch的javaAPI之percolator
percolator允许一个在index中注册queries,然后发送包含doc的请求,返回得到在index中注册过的并且匹配doc的query
//This is the query we're registering in the percolator
QueryBuilder qb = termQuery("con...
分类:
编程语言 时间:
2014-11-20 00:10:31
阅读次数:
352
Lucene有多种搜索方式,可以根据需要选择不同的方式。1、词条搜索(单个关键字查找) 主要对象是TermQuery 调用方式如下:Term term=new Term(字段名,搜索关键字);Query query=new TermQuery(term);Hits hits=searcher.sea...
分类:
其他好文 时间:
2014-08-15 12:40:18
阅读次数:
293