`
真好玩
  • 浏览: 5669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MultiFieldQueryParser

 
阅读更多

摘自lucene官网

public static Query parse(String[] queries,
          String[] fields,
          BooleanClause.Occur[] flags,
          Analyzer analyzer)
                   throws ParseException
Parses a query, searching on the fields specified. Use this if you need to specify certain fields as required, and others as prohibited.

Usage:

String[] query ={"query1","query2","query3"};String[] fields ={"filename","contents","description"};BooleanClause.Occur[] flags ={BooleanClause.Occur.SHOULD,BooleanClause.Occur.MUST,BooleanClause.Occur.MUST_NOT};MultiFieldQueryParser.parse(query, fields, flags, analyzer);

The code above would construct a query:

 
 (filename:query1) +(contents:query2) -(description:query3)
 
 
Parameters:
queries - Queries string to parse
fields - Fields to search on
flags - Flags describing the fields
analyzer - Analyzer to use
Throws:
ParseException - if query parsing fails
IllegalArgumentException - if the length of the queries, fields, and flags array differ
/**
 * BooleanClause.Occur.MUST表示and
 * BooleanClause.Occur.MUST_NOT表示not
 * BooleanClause.Occur.SHOULD表示or
 */
分享到:
评论

相关推荐

    Apache Lucene全文检索和IKAnalyzer分词工具类

    import org.apache.lucene.queryParser.MultiFieldQueryParser; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import ...

    lucene部分常用代码

    query query = multifieldqueryparser.parse("name*", new string[] {fieldname, fieldvalue}, analyzer); indexreader reader = indexreader.open(directory); indexsearcher searcher = new indexsearcher(reader)...

    获取全部Luence数据

    MultiFieldQueryParser parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29, new string[] { "AllFieldFlag" }, analyzer); // 查询所有文档 Query query = parser.Parse(""); // 使用空字符串...

    Lucene.Net基本用法

    - **构建查询**:使用`QueryParser`或`MultiFieldQueryParser`根据关键词和字段构建查询语句,前者适用于单字段搜索,后者支持多字段搜索。 - **执行搜索**:`IndexSearcher`负责执行查询,返回`Hits`对象,其中...

    lucene Demo

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

    lucence.net查询

    2. **MultiFieldQueryParser**:如果需要同时搜索多个字段,`MultiFieldQueryParser`更为方便。只需提供字段列表和查询字符串,它会自动构造一个多字段查询。例如,`new MultiFieldQueryParser(fields, analyzer)....

    一个例子学懂搜索引擎(lucene)

    Query query = new MultiFieldQueryParser(new String[]{"ArticleTitle", "ArticleText"}, new StandardAnalyzer()).parse(keyword); Hits hits = searcher.search(query); // 处理搜索结果 } ``` 这里使用了`...

    lucene手册

    Query query = MultiFieldQueryParser.parse(serchString, new String[]{"ArticleTitle", "ArticleText"}, new StandardAnalyzer()); Hits hits = searcher.search(query); for (int i = 0; i (); i++) { ...

    lucene3.0 api jar

    3. **查询解析**:用户输入的查询字符串需要通过`QueryParser`或`MultiFieldQueryParser`转换成`Query`对象。`Analyzer`同样在这个过程中起作用,用于处理查询字符串的分词。 4. **搜索执行**:`Searcher`是执行...

    Lucene.net 全文检索

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

    Lucene与DB结合示例

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

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

    此外,还可以使用MultiFieldQueryParser,它允许指定一组字段,并自动处理这些字段上的查询。 接着,我们探讨“文字高亮显示”。当用户在搜索结果中找到感兴趣的内容时,通常希望快速识别出与查询相关的部分。这...

    搜索引擎的个人学习

    例如,使用MultiFieldQueryParser可以处理多字段查询,而Filter和QueryWrapperFilter可以进行特定条件过滤。在分布式场景下,Solr或Elasticsearch是基于Lucene的更高级解决方案,它们支持大规模数据处理和集群部署,...

    【分享: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 ...

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

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

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

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

    lucene搜索引擎开发权威经典源码

    源码会涵盖MultiFieldQueryParser和BooleanQuery的使用,以便对多个字段进行联合查询。 7. **扩展与优化**:Lucene提供了丰富的API供开发者进行定制和扩展,如自定义相似度模型(Similarity)、过滤器(Filter)和...

    Lucene.Net.Analysis.Cn.dll

    例如,为了提高搜索速度,可以使用MultiFieldQueryParser进行多字段查询,或者使用Filter来限制搜索范围。同时,通过设置缓存和使用NRT(Near Real Time)模式,可以实现近乎实时的搜索体验。 总结来说,Lucene.Net...

    lucene高级智能查询小案例

    此外,还可以使用PhraseQuery或MultiFieldQueryParser来跨多个字段执行短语查询。 除了基础查询,Lucene还支持更复杂的表达式,例如使用FunctionQuery进行基于文档属性的排序,或者使用CustomScoreQuery自定义评分...

    lucene3.6 的源代码

    `NRTManager`允许在索引更新后立即返回新的搜索结果,而`MultiFieldQueryParser`则允许同时在多个字段中进行查询。 在实际应用中,我们还需要了解Lucene与应用程序的集成。`src/java/org/apache/lucene/store`目录...

Global site tag (gtag.js) - Google Analytics