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


    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)

  • 相关阅读:
    桶排序
    向控件添加变量之后,类中多了什么?
    atan2&sin
    Bug(1)
    十六进制转化二进制[c]
    接口性能分析与优化
    记一次内存泄漏DUMP分析
    偏移二分查找
    iOS开发——自定义密码输入键盘
    iOS开发——手机号,密码,邮箱,身份证号,中文判断
  • 原文地址:https://www.cnblogs.com/1130136248wlxk/p/5031089.html
Copyright © 2020-2023  润新知