在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 統(tǒng)計(jì)圖書clcs字段中'建筑科學(xué)'出現(xiàn)的次數(shù)

統(tǒng)計(jì)圖書clcs字段中'建筑科學(xué)'出現(xiàn)的次數(shù)

需要解決的問題:

  1. 當(dāng)搜索內(nèi)容為工程時(shí),統(tǒng)計(jì)出books表中clcs字段為不同值的個(gè)數(shù)是多少
  2. 當(dāng)搜索內(nèi)容為工程時(shí),查找出books表中clcs字段值為建筑科學(xué)的文檔

針對(duì)問題1我的語句如下,

GET /engineer/books/_search
{
  "size":0,
  "query":{
    "multi_match": {
      "query": "工程",
      "fields": ["summary","isbn","series","keywords","bindingFormat","standardNo","editor","chiefEditor","publisher","name","clcs","sublibs"]
    }
  },
  "aggs":{
    "data":{
      "terms": {
        "field": "clcs.keyword"
      }
    }
  }
}

搜索的結(jié)果如下:
圖片描述

統(tǒng)計(jì)出的clcs字段為建筑科學(xué)的個(gè)數(shù)是139個(gè)
針對(duì)問題2我的解決方案是:

GET engineer/books/_search
{
  "query":{
    "bool":{
      "should":{
        "multi_match":{
     "query":"  工程",
     "fields": ["summary","isbn","series","keywords","bindingFormat","standardNo","editor","chiefEditor","publisher","name","clcs","sublibs"],
     "type":"phrase"
      }
      },
      "must":{
        "match_phrase":{
          "clcs":"建筑科學(xué)"
        }
      }
     
    }
  },
  "_source":["name","isbn","clcs"]
}

結(jié)果為:
圖片描述

通過total字段可以看到,查詢出來的文檔個(gè)數(shù)為146,跟之前查詢出來的139個(gè)相差了,這是為什么呢?

PS: clcs字段是一個(gè)數(shù)組,也就是說clcs字段存在下面的情況['建筑科學(xué)','電工技術(shù)']

回答
編輯回答
毀與悔

問題1中的aggs,他是把類似于['建筑科學(xué)','電工技術(shù)']、['建筑科學(xué)']和['科學(xué)']等分開統(tǒng)計(jì)的;
問題2must中的match_phrase,短語匹配是要把把含有建筑科學(xué)建筑、科學(xué) 類似于 ['建筑科學(xué)','電工技術(shù)']、['建筑科學(xué)']和['科學(xué)']都統(tǒng)計(jì)出來吧!。
您看一下您問題二的搜索結(jié)果沒有類似于含有['建筑科學(xué)','電工技術(shù)']、['科學(xué)']這樣的數(shù)據(jù)嗎?
希望有所幫助。

2017年1月24日 23:36