1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/consolelog-chinese_translation_of_elasticsearchjavaapi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
CompoundQueries.md 3.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
王斌 Отправлено 22.05.2019 09:50 3cfb745

组合查询

组合查询可以将其它组合查询,以及其它单独的查询语句合并到一起,并将结果和匹配分数组合起来。它可以改变它们的行为,或是将查询转换为过滤条件。

这一组中的查询有:

constant_score查询

  • 包含其它查询的查询,但却以过滤器的形式执行该语句。所有匹配文档的匹配分数相同。

bool查询

  • 使用 mustshouldmust_notfilter 将多个查询或组合查询语句合并到一起。 其中 mustshould 的得分会合并到一起,而 must_notfilter则在过滤器中执行。

dis_max查询

  • 一个接受多个查询的查询,并返回任何查询子句匹配的文档。

function_score查询

  • 为了考虑到流行度、活跃度、距离和自定义脚本实现的算法,而使用函数修改主查询返回的分数。

boosting查询

  • 这里查询条件将会分为正匹配和负匹配。正匹配到的文档将会加分,负匹配得到的文档将会减分。

constant_score查询

查看Constant Score Query

constantScoreQuery(
        termQuery("name","kimchy"))   
    //指定分数                       
    .boost(2.0f);  

bool查询

查看Bool Query

boolQuery()
        .must(termQuery("content", "test1"))                 
        .must(termQuery("content", "test4"))                 
        .mustNot(termQuery("content", "test2"))              
        .should(termQuery("content", "test3"))   
        //绝对匹配,不参与评分            
        .filter(termQuery("content", "test5")); 

dis_max查询

查看Dis Max Query

disMaxQuery()
        .add(termQuery("name", "kimchy"))                    
        .add(termQuery("name", "elasticsearch"))             
        .boost(1.2f)                                         
        .tieBreaker(0.7f);       

function_score查询

查看Function Score Query

import static org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders.*;
FilterFunctionBuilder[] functions = {
        new FunctionScoreQueryBuilder.FilterFunctionBuilder(
                matchQuery("name", "kimchy"),                
                randomFunction()),                           
        new FunctionScoreQueryBuilder.FilterFunctionBuilder(
                exponentialDecayFunction("age", 0L, 1L))     
};
functionScoreQuery(functions);

boosting查询

查看Boosting Query

boostingQuery(
            termQuery("name","kimchy"),                      
            termQuery("name","dadoonet"))                    
        .negativeBoost(0.2f); 

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/consolelog-chinese_translation_of_elasticsearchjavaapi.git
git@api.gitlife.ru:oschina-mirror/consolelog-chinese_translation_of_elasticsearchjavaapi.git
oschina-mirror
consolelog-chinese_translation_of_elasticsearchjavaapi
consolelog-chinese_translation_of_elasticsearchjavaapi
master