lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度

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

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

1)

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

dumpSpans查询时输出

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

the <quickredfox> jumps over thesleep cat(0.18461232)

2)

SpanNotQuery quick_fox_dog=new SpanNotQuery(quick_fox,dog);

dumpSpans查询时输出

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

the <quickredfox> jumps over thesleepcat(0.18461232)

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

SpanNotQuery no_quick_red_fox=newSpanNotQuery(quick_fox,red);

dumpSpans查询时输出

the <quickredfox> jumps over thesleep cat(0.18461232)

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

1)

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

dumpSpans查询时输出

the <quick brown fox jumps over the lazydog> (0.38461232)

2)

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

dumpSpans查询时输出

the <quickred fox jumps overthesleep cat> (0.38461232)

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

dumpSpans查询时输出

the <quick brown fox jumps over the lazydog> (0.38461232)

the <quickred fox jumps overthesleep cat> (0.38461232)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值