欢迎投稿

今日深度:

Elasticsearch java API (25)查询 DSL Span(跨度)查询,elasticsearchdsl

Elasticsearch java API (25)查询 DSL Span(跨度)查询,elasticsearchdsl


跨度查询编辑

跨度��询是低级位置查询提供专家控制的秩序和接近指定的条款。这些通常是用于实现特定查询法律文件或专利。

跨度查询不能混合(除了non-span查询 span_multi查询)。

这组查询:

span_term 查询
的等效 term查询但与其他跨度查询使用。
span_multi 查询
包装 term, range, prefix, wildcard, regexp,或 fuzzy查询。
span_first 查询
接受另一个跨度查询的匹配必须出现在第N的位置。
span_near 查询
接受多个跨度查询的匹配必须在指定的距离,并可能在相同的顺序。
span_or 查询
结合多个跨度查询,返回文档的匹配任何指定的查询。
span_not 查询
包装另一个跨度查询,排除了任何文档匹配查询。
span_containing 查询
接受一个跨度查询列表,但是只返回那些跨越也匹配第二个跨度查询。
span_within 查询
单孔查询返回的结果只要是它的跨度中返回的跨越其他跨度查询的列表。

跨词查询编辑

看到跨词查询

QueryBuilder qb = spanTermQuery(
    "user",        //1                              
    "kimchy"          //2                          
);

价值

跨多词查询编辑

看到跨多词查询

QueryBuilder qb = spanMultiTermQueryBuilder(
    prefixQuery("user", "ki")         //1          
);

可以是任何builder扩展吗 MultiTermQueryBuilder类。例如: FuzzyQueryBuilder,PrefixQueryBuilder, RangeQueryBuilder, RegexpQueryBuilder WildcardQueryBuilder.

跨越第一个查询编辑

看到跨越第一个查询

QueryBuilder qb = spanFirstQuery(
    spanTermQuery("user", "kimchy"),      //1      
    3                                        //2   
);

查询

马克斯结束位置

跨度查询附近编辑

看到跨度查询附近

QueryBuilder qb = spanNearQuery()
    .clause(spanTermQuery("field","value1"))    //1
    .clause(spanTermQuery("field","value2"))    //2
    .clause(spanTermQuery("field","value3"))    //3
    .slop(12)                                   //4
    .inOrder(false)                             //5
    .collectPayloads(false);                    //6

跨词查询

污水因素:干预无与伦比的头寸的最大数量

是否需要按次序的匹配

收集有效载荷或不

跨度或查询编辑

看到跨度或查询

QueryBuilder qb = spanOrQuery()
    .clause(spanTermQuery("field","value1"))    //1
    .clause(spanTermQuery("field","value2"))    //2
    .clause(spanTermQuery("field","value3"));   //3

跨词查询

跨度不查询编辑

看到跨度不查询

QueryBuilder qb = spanNotQuery()
    .include(spanTermQuery("field","value1"))   //1
    .exclude(spanTermQuery("field","value2"));  //2

跨度查询的匹配过滤

这些返回跨度查询的匹配不能重叠

跨度包含查询编辑

看到跨度包含查询

QueryBuilder qb = spanContainingQuery()
    .little(spanTermQuery("field1","foo"))      //1
    .big(spanNearQuery()                        //2
        .clause(spanTermQuery("field1","bar"))
        .clause(spanTermQuery("field1","baz"))
        .slop(5)
        .inOrder(true)
    );

little部分

big部分

跨度内查询编辑

看到跨度内查询

QueryBuilder qb = spanWithinQuery()
    .little(spanTermQuery("field1", "foo"))        //1         
    .big(spanNearQuery()                              //2      
                    .clause(spanTermQuery("field1", "bar"))
                    .clause(spanTermQuery("field1", "baz"))
                    .slop(5)
                    .inOrder(true)
    );

little部分

big部分






www.htsjk.Com true http://www.htsjk.com/Elasticsearch/32957.html NewsArticle Elasticsearch java API (25)查询 DSL Span(跨度)查询,elasticsearchdsl 跨度查询 编辑 跨度��询是低级位置查询提供专家控制的秩序和接近指定的条款。 这些通常是用于实现特定查询法律文件或专...
相关文章
    暂无相关文章
评论暂时关闭