Lucene 6.0中BooleanQuery

简介: Lucene 6.0中BooleanQuery创建和之前的不太一样,4.3版本的创建BooleanQuery:BooleanQuery bQuery=new BooleanQuery(); bQuery.

Lucene 6.0中BooleanQuery创建和之前的不太一样,4.3版本的创建BooleanQuery:

BooleanQuery bQuery=new BooleanQuery();
            bQuery.add(new TermQuery(new Term("title", "lucene")), Occur.MUST);
            bQuery.add(new TermQuery(new Term("content", "基于")), Occur.SHOULD);
            bQuery.add(new TermQuery(new Term("name", "java")), Occur.MUST_NOT);

6.0版本的创建BooleanQuery,搜索title中包含”美国”,”content”中不包含”日本”的文档:

Query query1 = new TermQuery(new Term("title", "美国"));
Query query2 = new TermQuery(new Term("content", "日本"));
BooleanClause bc1 = new BooleanClause(query1, Occur.MUST);
BooleanClause bc2 = new BooleanClause(query2, Occur.MUST_NOT);
BooleanQuery boolQuery = new BooleanQuery.Builder().add(bc1).add(bc2).build();
        System.out.println(boolQuery.toString());
        // 返回前10条
        TopDocs topDocs = searcher.search(boolQuery, 10);

打印结果:

+title:美国 -content:日本
目录
相关文章
|
存储 自然语言处理 算法
Lucene学习总结
Lucene学习总结
112 0
Lucene学习总结
|
存储 Apache 索引
Lucene就是这么简单(二)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
129 0
Lucene就是这么简单(二)
|
SQL 数据采集 自然语言处理
Lucene就是这么简单(一)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
168 0
Lucene就是这么简单(一)
|
SQL 自然语言处理 算法
Lucene就是这么简单(三)
Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
179 0
Lucene就是这么简单(三)
|
SQL 自然语言处理 算法
Lucene就是这么简单
什么是Lucene?? Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引和查询索引,以及部分文本分析的引擎,Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎,Lucene在全文检索领域是一个经典的祖先,现在很多检索引擎都是在其基础上创建的,思想是相通的。
1274 0
|
Java 索引 自然语言处理
|
存储 自然语言处理 算法
|
存储 自然语言处理 程序员