`

MultiFieldQueryParser 使用方法

阅读更多

   String[] key = new String[]{"printed","nonquery","sql","update","set"};

   String[] fields = {fieldName,fieldName,fieldName,fieldName,fieldName};   

    //声明BooleanClause.Occur[]数组,它表示多个条件之间的关系   

   BooleanClause.Occur[] flags=new BooleanClause.Occur[]{BooleanClause.Occur.MUST,

   BooleanClause.Occur.MUST,BooleanClause.Occur.MUST,BooleanClause.Occur.MUST,

   BooleanClause.Occur.MUST};   

 

   Query query = MultiFieldQueryParser.parse(Version.LUCENE_46,key, fields, flags, analyzer);

 

 

其中:key, fields, flags 一一对应。

 

BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。有以下6种组合: 
1.MUST和MUST:取得连个查询子句的交集。 
2.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。 
3.MUST_NOT和MUST_NOT:无意义,检索无结果。 
4.SHOULD与MUST、SHOULD与MUST_NOT:SHOULD与MUST连用时,无意义,结果为MUST子句的检索

结果。与MUST_NOT连用时,功能同MUST。 
5.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。

分享到:
评论

相关推荐

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

    Lucene提供了Optimize方法用于合并段以提高性能,而UpdateDocument方法可以替换已存在的文档。 6. **错误处理和资源释放**:在使用完毕后,记得关闭所有打开的流和对象,如IndexWriter、IndexReader、Searcher等,...

    java实现lucene高亮显示Html,直接测试就可以用

    2. **查询解析**:使用`QueryParser`或`MultiFieldQueryParser`来创建一个`Query`对象,该对象表示用户的搜索请求。 3. **搜索执行**:使用`IndexSearcher`执行查询,并获取匹配的文档集。`TopDocs`对象包含这些...

    【分享:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    4.10. MultiFieldQueryParser类--多域搜索 13 4.11. MultiSearcher类--多个索引搜索 13 4.12. ParalellMultiSearcher类---多线程搜索 14 5. 排序 14 5.1. Sort类 14 5.2. SortField类 14 5.3. 指定排序的法则 15 ...

    Lucene2.9英文API

    3. **多字段搜索**: 使用`MultiFieldQueryParser`可以在多个字段中同时搜索。 4. **近实时搜索**: `NRTManager`类支持在索引更新后立即搜索,无需等待完全优化。 5. **命中高亮**: `Highlighter`类可对搜索结果的...

    Lucene3.5实例

    在`create()`方法中,我们使用`IndexWriterConfig`配置对象设置了Lucene 3.5的版本和打开模式(`OpenMode.CREATE`,表示新建索引)。然后通过`FSDirectory.open()`打开指定路径(`indexpath`)的文件目录,用以存储...

    lucene例子

    1. **MultiFieldQueryParser**:此解析器允许用户指定一个字段列表,查询将同时在这些字段中执行。通过设置 boosts 参数,可以为不同字段设置不同的权重。 2. **BooleanQuery**:可以组合多个Query对象,通过AND、...

    lucene3.0 api jar

    `Document`对象通过`Searcher`的`doc()`方法获取,从而得到完整的文档信息。 在Lucene 3.0中,一些重要的API变更和特性包括: - **改进的多字段查询**:`MultiFieldQueryParser`允许在一个查询中指定多个字段,...

    传智播客luceneDemo

    **Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它提供了完整的搜索功能...通过这样的示例,学习者可以直观地了解 Lucene 的工作原理和使用方法,为实际项目中的应用打下基础。

    基于Lucene的搜索系统-客户端调用

    在搜索过程中,客户端首先会创建一个`IndexSearcher`实例,然后利用`QueryParser`或`MultiFieldQueryParser`构建查询。查询对象创建完成后,通过`IndexSearcher`执行查询,得到`TopDocs`对象,包含了匹配文档的分数...

    Lucene Demo组件

    使用 `IndexWriter.deleteDocuments(Term)` 方法可以按关键词删除,`IndexWriter.deleteDocuments(Document)` 则按文档对象删除。 - **更新(Update)**:实际上是删除原有文档再添加新文档的过程。先删除旧文档,...

    lucenenet2.3.1盘古分词示例

    先将用户输入的查询语句进行分词,然后使用`QueryParser`或`MultiFieldQueryParser`创建查询对象,将分词结果转换成Lucene.NET可识别的查询语法。 5. **执行查询**:使用`IndexSearcher`类的`Search()`方法,执行...

    lucene的API

    - **添加文档**:使用 `addDocument(Document)` 方法将处理后的文档添加到索引中。 - **提交索引**:调用 `commit()` 方法将所有变更持久化到磁盘上。 ### 2. 查询与搜索 Lucene 提供了丰富的查询构造器,如 `...

    lucene搜索引擎培训资料

    2. **多字段搜索**: 可以在多个字段上设置查询,或者使用`MultiFieldQueryParser`进行复合查询。 3. **模糊搜索**: 支持通配符查询和前缀查询,如使用`WildcardQuery`和`PrefixQuery`。 4. **近似搜索**: `Fuzzy...

    Lucene的原理完整版pdf

    1. **创建索引**:首先,开发者需要创建一个`IndexWriter`实例,然后调用`addDocument()`方法添加文档到索引中。每个文档的字段会被分词器处理,并生成对应的术语及其位置信息。 2. **搜索索引**:使用`...

    Lucene.Net

    **Lucene.Net** 是一个基于 ...以上就是关于 Lucene.Net 的核心概念、工作流程、主要功能以及使用方法的详细介绍。通过理解和应用这些知识点,开发者可以构建出高效、可定制化的全文搜索功能,提升应用程序的用户体验。

    lucene 2.0 api以及lucene 3.0 api

    开发者可以使用 `Document` 类来封装待索引的数据,然后通过 `addDocument()` 方法添加到索引中。 2. **查询构造**: 通过 `QueryParser` 类,用户可以构建复杂的布尔查询。`TermQuery`, `WildcardQuery`, `...

    lucence.net查询

    最后,将文档添加到`IndexWriter`并调用`AddDocument`方法来构建索引。 2. **字段分析**:在Lucene中,文本字段通常需要经过分析过程,将原始文本拆分成可搜索的“词元”(tokens)。分析器(Analyzer)是执行这个...

    介绍Lucene.Net

    - 使用 `QueryParser` 或 `MultiFieldQueryParser` 创建查询对象,指定查询语句和分析器。 - 实例化 `IndexReader` 和 `IndexSearcher`,它们分别用于读取索引和执行搜索操作。 - 调用 `IndexSearcher` 的 `Search()...

    Lucene 3.5 api HTML版

    **Lucene 3.5 API 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了高级文本检索功能...通过阅读提供的 HTML 版 API 文档,开发者可以深入理解这些概念并熟练掌握 Lucene 的使用方法。

    benchLucene-开源

    该项目使用了MultiFieldQueryParser,这是Lucene中的一个关键组件。MultiFieldQueryParser允许用户输入包含多个字段的复杂查询,并自动处理这些查询的解析和分析。它支持各种查询语法,包括布尔运算符(AND、OR、NOT...

Global site tag (gtag.js) - Google Analytics