`

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等,...

    获取全部Luence数据

    这里的关键在于使用 `MultiFieldQueryParser` 解析空字符串作为查询条件,这会返回索引中的所有文档。同时,我们可以通过设置 `Sort` 对象来对结果进行排序,如按照文档的创建时间进行排序。 ### 遍历文档 最后,...

    lucene Demo

    - **搜索**:`IndexSearcher`是执行搜索操作的主要类,通过`Query`对象指定搜索条件,可以使用`MultiFieldQueryParser`类来支持多字段搜索。 通过以上的知识点和代码分析,我们可以更深入地理解Lucene的工作原理...

    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`类可对搜索结果的...

    Lucene与DB结合示例

    `getArticles(String query)`方法则处理搜索请求,使用`MultiFieldQueryParser`解析查询字符串,执行搜索,并返回匹配的文档列表。 5. **搜索处理**: 搜索过程涉及解析查询、创建查询对象,然后使用`...

    Lucene3.5实例

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

    Lucene.net 全文检索

    6. **搜索文档**:虽然示例代码中的搜索部分被注释掉了,但可以看出它是通过创建`IndexSearcher`对象并使用`MultiFieldQueryParser`解析查询字符串来执行搜索的。 #### 五、深入理解Analyzer Analyzer是全文检索中...

    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)**:实际上是删除原有文档再添加新文档的过程。先删除旧文档,...

    lucene手册

    对于初学者来说,这是一个很好的起点,可以帮助他们理解Lucene的工作原理并掌握其基本使用方法。随着实践的深入,开发者可以根据具体需求进一步探索Lucene提供的高级功能,如多字段搜索、布尔查询等。

    lucenenet2.3.1盘古分词示例

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

    lucene个人总结

    - **多字段查询**:使用 `MultiFieldQueryParser` 构建查询语句,可以指定多个字段进行搜索,同时支持布尔逻辑操作(如 `MUST`、`SHOULD`、`MUST_NOT`),增加查询的灵活性。 - **单字段查询**:使用 `QueryParser...

    lucene的API

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

    lucene搜索引擎培训资料

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

    Lucene的原理完整版pdf

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

Global site tag (gtag.js) - Google Analytics