1、在匹配结果中排除相互交迭的跨度

SpanNotQuery构造函数的第一个参数表示要包含的跨度对象,第二个参数表示要排除的跨度对象。

1)

SpanNearQuery quick_fox=new SpanNearQuery(new SpanQuery[]{quick,fox},1,true);

dumpSpans查询时输出

the <quick brown fox> jumps over the lazy dog (0.18461232)

the <quick red fox> jumps over the sleep cat (0.18461232)

2)

SpanNotQuery quick_fox_dog=new SpanNotQuery(quick_fox,dog);

dumpSpans查询时输出

the <quick brown fox> jumps over the lazy dog (0.18461232)

the <quick red fox> jumps over the sleep cat (0.18461232)

3)只匹配了第一个文档,因为第二个文档包括red

SpanNotQuery no_quick_red_fox=new SpanNotQuery(quick_fox,red);

dumpSpans查询时输出

the <quick red fox> jumps over the sleep cat (0.18461232)

2、SpanOrQuery,在构造函数中对一个SpanQuery对象的集合进行封装

1)

SpanNearQuery qf_near_ld=new SpanNearQuery(new SpanQuery[]{quick_fox,lazy_dog},3,true);

dumpSpans查询时输出

the <quick brown fox jumps over the lazy dog> (0.38461232)

2)

SpanNearQuery qf_near_sc=new SpanNearQuery(new SpanQuery[]{quick_fox,sleep_cat},3,true);

dumpSpans查询时输出

the <quick red fox jumps over the sleep cat> (0.38461232)

3)查询这样一些文档,这些文档或者包括"quick fox" near "lazy dog"或者包括"quick fox" near "sleep cat"

dumpSpans查询时输出

the <quick brown fox jumps over the lazy dog> (0.38461232)

the <quick red fox jumps over the sleep cat> (0.38461232)

lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度的更多相关文章

  1. lucene 查询 (转载)

    原网址:http://hi.baidu.com/lszhuhaichao/blog/item/ccffc7cb858f1514bf09e66f.html Lucene3.0之查询处理(1):原理201 ...

  2. lucene的多种搜索2-SpanQuery

    SpanQuery按照词在文章中的距离或者查询几个相邻词的查询 SpanQuery包括以下几种: SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词 ...

  3. Lucene 更新、删除、分页操作以及IndexWriter优化

    更新操作如下: 注意:通过lukeall-1.0.0.jar 查看软件,我们可以看到,更新其实是先删除在插入, 前面我们知道索引库中有两部分的内容组成,一个是索引文件,另一个是目录文件, 目前我们更新 ...

  4. Query DSL for elasticsearch Query

    Query DSL Query DSL (资料来自: http://www.elasticsearch.cn/guide/reference/query-dsl/) http://elasticsea ...

  5. Apache Lucene全局搜索引擎入门教程

    Lucene简介 Lucent:Apache软件基金会Jakarta项目组的一个子项目,Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟 ...

  6. 使用Lucene.Net实现全文检索

    使用Lucene.Net实现全文检索 目录 一 Lucene.Net概述 二 分词 三 索引 四 搜索 五 实践中的问题 一 Lucene.Net概述 Lucene.Net是一个C#开发的开源全文索引 ...

  7. Lucene中的 Query对象

    "Lucene中的 Query对象": 检 索前,需要对检索字符串进行分析,这是由queryparser来完成的.为了保证查询的正确性,最好用创建索引文件时同样的分析器. quer ...

  8. Elasticsearch Span Query跨度查询

    ES基于Lucene开发,因此也继承了Lucene的一些多样化的查询,比如本篇说的Span Query跨度查询,就是基于Lucene中的SpanTermQuery以及其他的Query封装出的DSL,接 ...

  9. Lucene多字段搜索

    最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题,在网上找了找,资料不是很多,现在都列出来,又需要的可以自己认真看看,都是从其他网站粘贴过来的,所以比较乱,感谢原创的作者们!     使用 ...

随机推荐

  1. Arch声卡配置

    ALSA Utilities Install the alsa-utils package. This contains (among other utilities) the alsamixer a ...

  2. 获取android源码中遇到的问题

    最近项目相当紧张,回家之后还需要继续研究android源码. 从网上找了一些资料,下载过程中还是遇到了很多问题.这里罗列一下: 1. 下载Repo过程中提示证书问题: curl https://dl- ...

  3. php笔记(一)面向对象编程

    <?php //定义一个类 class Car { var $name = '汽车'; function getName() { return $this->name; } } //实例化 ...

  4. 配置php开发环境

    安装apache 1 loadModule 加载php的模块2 addType 告诉apache凡是php结尾的文件都交给php模块执行3 PHPIniDir 告诉apache php.ini的文件在 ...

  5. java 邮件

      使用java语言实现邮件的简单的发送和接受. 说明:使用Java应用程序发送E-mail比较简单,在使用下列程序之前,你需要将mail.jar和activation.jar 添加到你的CLASSP ...

  6. HDU 5898 odd-even number(2016沈阳网络选拔赛 数位DP)

    定义DP[pos][pre][odd][even],pos代表当前数位,pre代表前一位的数值,odd代表到前一位连续的奇数个数,even代表到前一位连续偶数个数. odd和even肯定至少有一个为0 ...

  7. sql 判断表是否存在,判断列是否存在

    判断表是否存在: 语法: SELECT * FROM dbo.SysObjects where id = object_id(N'表名') 例子: SELECT * FROM dbo.SysObjec ...

  8. apt-get 总结

    转自: apt-get 总结 1.apt-get install <package_name> install a new package. 2.apt-get build-dep < ...

  9. angular 搜索记录保留

    #方法1: 点击后退到home后,再点击搜索, locationChangeStart 事件会多次触发. # $scope.keyword = $location.search().search # ...

  10. C++ primer 练习 12.7

    重做上一题,这次使用shared_ptr 而不是内置指针.上一题题目为:(编写函数,返回一个动态分配的int的vector.将此vector传递给另一个函数,这个函数读取标准输入,将读入的值保存在ve ...