成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Elasticsearch search使用幾點(diǎn)總結(jié)

DobbyKim / 599人閱讀

摘要:一使用進(jìn)行匹配的時(shí)候匹配的時(shí)候,如果想盡可能的多檢索結(jié)果,考慮使用如果想盡可能精確的匹配分詞結(jié)果,考慮使用如果短語(yǔ)匹配的時(shí)候,怕遺漏,考慮使用。

一、使用match進(jìn)行匹配的時(shí)候:

1.匹配的時(shí)候,如果想盡可能的多檢索結(jié)果,考慮使用match;
2.如果想盡可能精確的匹配分詞結(jié)果,考慮使用match_phrase;
3.如果短語(yǔ)匹配的時(shí)候,怕遺漏,考慮使用match_phrase_prefix。

二、使用term匹配的時(shí)候,主要是確定詞匹配 keyword或者 integer類型,可以是數(shù)組 三、使用must和should結(jié)合的時(shí)候,層級(jí)關(guān)系不同導(dǎo)致的結(jié)果不同,AND 結(jié)合 OR形式應(yīng)該如這種
    private static void addKeywordSearchQuery(String keyWordStr,BoolQueryBuilder boolQueryBuilder){
        String[] keywords = keyWordStr.split("|");
        //這里注意must必須為平級(jí),否則會(huì)合并
        BoolQueryBuilder shouldBool = QueryBuilders.boolQuery();
        for (int i = 0; i < keywords.length; i++) {
            if (StringUtils.isNotEmpty(keywords[i])) {
                String[] split = keywords[i].split("+| ");
                if (split.length>1){
                    BoolQueryBuilder contetnQuery = QueryBuilders.boolQuery();
                    BoolQueryBuilder titleQuery = QueryBuilders.boolQuery();
                    for (int j = 0; j < split.length; j++) {
                        if (!StringUtils.isEmpty(split[j])){
                            contetnQuery.must(QueryBuilders.matchPhrasePrefixQuery("content",split[j]));
                            titleQuery.must(QueryBuilders.matchPhrasePrefixQuery("title",split[j]));
                        }
                    }
                    shouldBool.should(QueryBuilders.boolQuery().should(contetnQuery).should(titleQuery));

                }else {
                    BoolQueryBuilder contentShould = QueryBuilders.boolQuery();
                    contentShould.should(QueryBuilders.matchPhrasePrefixQuery("content", keywords[i]));
                    contentShould.should(QueryBuilders.matchPhrasePrefixQuery("title", keywords[i]));
                    shouldBool.should(contentShould);
                }

            }
        }
        boolQueryBuilder.must( QueryBuilders.boolQuery().must(shouldBool));

    }
四、可以使用range來(lái)確定范圍,時(shí)間上比較常用:
      boolQueryBuilder.must(QueryBuilders.rangeQuery("infotime").gte(opinionSearchBean.getStartTime().getTime())
                    .lte(opinionSearchBean.getEndTime().getTime()));
五、對(duì)id進(jìn)行過(guò)濾
            boolQueryBuilder.filter(QueryBuilders.idsQuery().types("opiniondata")
                    .addIds(opinionids.toArray(new String[opinionids.size()])));
六、對(duì)某個(gè)值進(jìn)行排序的時(shí)候,如果沒(méi)有設(shè)置默認(rèn)值,則這個(gè)值初始化是null,這時(shí)候排序則部分生效,如果需要對(duì)某個(gè)值進(jìn)行排序的時(shí)候,需要進(jìn)行初始值設(shè)置即可。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/69387.html

相關(guān)文章

  • 有贊搜索系統(tǒng)的架構(gòu)演進(jìn)

    摘要:另外集群也沒(méi)有做物理隔離,有一次促銷活動(dòng)就因?yàn)榉劢z數(shù)據(jù)量過(guò)于龐大導(dǎo)致進(jìn)程內(nèi)存耗盡而,使得集群內(nèi)全部索引都無(wú)法正常工作,這給我上了深深的一課。 有贊搜索平臺(tái)是一個(gè)面向公司內(nèi)部各項(xiàng)搜索應(yīng)用以及部分 NoSQL 存儲(chǔ)應(yīng)用的 PaaS 產(chǎn)品,幫助應(yīng)用合理高效的支持檢索和多維過(guò)濾功能,有贊搜索平臺(tái)目前支持了大大小小一百多個(gè)檢索業(yè)務(wù),服務(wù)于近百億數(shù)據(jù)。 在為傳統(tǒng)的搜索應(yīng)用提供高級(jí)檢索和大數(shù)據(jù)交互能...

    wh469012917 評(píng)論0 收藏0
  • Lucene解析 - 基本概念

    摘要:基本概念在深入解讀之前,先了解下的幾個(gè)基本概念,以及這幾個(gè)概念背后隱藏的一些東西。如圖是一個(gè)內(nèi)的基本組成,內(nèi)數(shù)據(jù)只是一個(gè)抽象表示,不代表其內(nèi)部真實(shí)數(shù)據(jù)結(jié)構(gòu)。即詞典,是根據(jù)條件查找的基本索引。 前言 Apache Lucene是一個(gè)開(kāi)源的高性能、可擴(kuò)展的信息檢索引擎,提供了強(qiáng)大的數(shù)據(jù)檢索能力。Lucene已經(jīng)發(fā)展了很多年,其功能越來(lái)越強(qiáng)大,架構(gòu)也越來(lái)越精細(xì)。它目前不僅僅能支持全文索引,也...

    sunnyxd 評(píng)論0 收藏0
  • Lucene解析 - 基本概念

    摘要:基本概念在深入解讀之前,先了解下的幾個(gè)基本概念,以及這幾個(gè)概念背后隱藏的一些東西。如圖是一個(gè)內(nèi)的基本組成,內(nèi)數(shù)據(jù)只是一個(gè)抽象表示,不代表其內(nèi)部真實(shí)數(shù)據(jù)結(jié)構(gòu)。即詞典,是根據(jù)條件查找的基本索引。 前言 Apache Lucene是一個(gè)開(kāi)源的高性能、可擴(kuò)展的信息檢索引擎,提供了強(qiáng)大的數(shù)據(jù)檢索能力。Lucene已經(jīng)發(fā)展了很多年,其功能越來(lái)越強(qiáng)大,架構(gòu)也越來(lái)越精細(xì)。它目前不僅僅能支持全文索引,也...

    appetizerio 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<