0 0

Lucene多条件查询问题10

下面是写的两个搜索Query,第一个能搜索到相关的数据.
而第二个多条件搜索为什么搜不到....(使用的多是或者条件)


1.Query query = new WildcardQuery(new Term("primaryKey", "AB"));


2.BooleanClause.Occur[] flags = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
// //B
Query query = MultiFieldQueryParser.parse("AB", new String[] { "primaryKey", "content" }, flags,
new StandardAnalyzer());



IndexSearcher search = new IndexSearcher("d:/search");
Hits hs = search.search(query);

我估计一下,可能是Analyzer的问题.但我使用的多是StandardAnalyzer.
不知道WildcardQuery用的是什么分析器
问题补充:
我用的多是StandardAnalyzer. 如果我的不传入分析器是行的。。但是传入就搜索不到结果。。
2008年9月03日 16:37

1个答案 按时间排序 按投票排序

0 0

你确认一下建索引时用的是什么Analyzer,搜索和建索引时要用相同的Analyzer

2008年9月03日 18:44

相关推荐

    lucene 多字段查询+文字高亮显示

    本话题聚焦于“Lucene多字段查询”和“文字高亮显示”,这两个特性在信息检索和数据挖掘中具有广泛应用。 首先,让我们深入理解“Lucene多字段查询”。在信息检索系统中,用户可能希望根据多个字段来过滤和排序结果...

    lucene创建修改删除组合条件查询

    在本主题中,我们将深入探讨如何使用Lucene进行创建、删除、修改和组合条件查询,以及如何实现类似MySQL中的LIKE、IN、OR和时间范围条件查询。 首先,**创建索引**是使用Lucene的第一步。创建索引涉及到读取数据源...

    Lucene3.0之查询类型详解

    - **BooleanQuery**:用于组合多个查询条件,支持AND、OR、NOT等布尔运算。通过添加多个TermQuery或其他Query子类实例到BooleanQuery来构建复杂的逻辑查询。 举例来说,以下是如何创建一个"星期一"和"五月一日"的...

    lucene表达式处理查询

    在Lucene中,表达式查询是一种高级查询方式,允许用户通过特定的语法构造复杂的查询条件。本篇文章将深入探讨Lucene表达式处理查询的原理、语法及示例。 ### 1. Lucene表达式查询基础 Lucene表达式查询是基于...

    Lucene时间区间搜索

    分词是为了让Lucene能够理解时间值,并将其与查询条件进行比较。 时间区间查询的关键在于构建正确的Query对象。Lucene支持多种查询类型,例如TermQuery、PrefixQuery、RangeQuery等。在时间区间搜索中,我们通常会...

    lucene的查询语法事例

    **Lucene查询语法详解** Apache Lucene是一款高性能、全文本搜索库,被广泛应用于各种搜索引擎的构建。在使用Lucene进行信息检索时,理解和掌握其查询语法至关重要。本篇文章将深入探讨Lucene的查询语法,帮助你更...

    Lucene分词与查询详解

    **Lucene分词与查询详解** Lucene是一个高性能、全文本搜索库,广泛应用于各种搜索引擎的开发中。它提供了一套强大的API,用于索引文本数据,并执行复杂的查询操作。在深入理解Lucene的分词与查询机制之前,我们...

    C#调用Lucene方法-实现快速搜索

    接着,构造一个Query对象表示查询条件,最后使用Searcher执行搜索并获取结果。例如: ```csharp using (var reader = DirectoryReader.Open(directory)) using (var searcher = new IndexSearcher(reader)) { ...

    lucene facet查询示例

    **Lucene Facet查询详解** ...通过区间查询和多维度查询,用户可以根据各种条件进行筛选,而key-field-value模型则为数据组织提供了清晰的结构。在实际应用中,结合这些知识,我们可以构建出更符合用户需求的搜索系统。

    Lucene 使用正则表达式

    在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...

    Lucene全文搜索 分组,精确查找,模糊查找

    2. **BooleanQuery**:通过`SHOULD`子句组合多个`TermQuery`,确保所有条件都满足。 3. **PrefixQuery**:在需要精确查找的词前添加星号`*`,如`new PrefixQuery(new Term("field", "keyword*"))`,可以匹配以...

    lucene实现企业产品检索

    Lucene提供了多种查询类型,如TermQuery、PhraseQuery、WildcardQuery等,可以根据需求选择合适的查询方式。接着,使用`IndexSearcher`执行查询,并通过`TopDocs`获取排名最高的搜索结果。 **4. 高级搜索特性** ...

    lucene引擎和sqlite数据库分词查询

    查询时,系统可以根据用户的查询条件,利用Lucene进行分词查询,并返回结果。同时,系统还可以后台实时统计单词频率,更新重点单词列表。对于重点句子的识别,可以分析每个文档中包含重点词的句子,根据上下文相关性...

    lucene高级智能查询小案例

    例如,我们可以使用TermQuery来查找特定关键词,使用BooleanQuery组合多个条件,或者使用WildcardQuery进行通配符查询。在高级查询中,我们可能会利用FuzzyQuery进行模糊匹配,或者使用PrefixQuery进行前缀搜索,...

    lucene分组查询优化facet

    它首先会计算每个分面值的文档频率,然后对匹配查询条件的文档进行分组计数。这个过程涉及到倒排索引的遍历和统计,因此在处理大量数据时可能会消耗较多资源。 二、优化策略 1. **缓存优化**:Lucene提供了一些缓存...

    lucene部分常用代码

    本文将对Lucene部分常用代码进行详细解释,包括多字段搜索、多条件搜索、过滤等。 多字段搜索 在Lucene中,我们可以使用MultifieldQueryParser来指定多个搜索字段。MultifieldQueryParser可以将多个字段合并到一个...

    Lucene的系统结构

    - `org.apache.lucene.search`: 实现查询执行逻辑,根据查询条件在索引中查找匹配的文档。 - `org.apache.lucene.store`: 数据存储管理,负责底层的I/O操作,如磁盘存储或内存缓存。 - `org.apache.lucene.util...

    基于lucene3.0 书籍查询系统

    **基于Lucene 3.0的书籍查询系统详解** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发。在3.0版本中,Lucene提供了强大的文本分析、索引和搜索功能,使得开发者能够快速地构建自己的全文检索应用。本...

    Lucene.Net +盘古分词 搜索引擎

    - **多字段搜索**:允许用户在多个字段中同时进行搜索,提高查询的灵活性。 在实际应用中,可能还需要考虑如何处理停用词、同义词、词形还原等问题,以提升搜索质量。此外,定期重建索引和优化索引结构也是保持搜索...

    lucene-4.7.0全套jar包

    2. **搜索算法**:Lucene实现了布尔、短语、模糊、评分等高级搜索算法,使得用户可以灵活地构造复杂的查询条件。 3. **高性能**:Lucene通过内存缓存、位向量和优化的数据结构来提高搜索速度。同时,它支持多线程...

Global site tag (gtag.js) - Google Analytics