真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

solr4.7分組查詢facet怎么使用

本篇內(nèi)容主要講解“solr4.7分組查詢facet怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“solr4.7分組查詢facet怎么使用”吧!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、鹽池網(wǎng)絡(luò)推廣、小程序定制開發(fā)、鹽池網(wǎng)絡(luò)營銷、鹽池企業(yè)策劃、鹽池品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供鹽池建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

solr將以導(dǎo)航為目的的查詢結(jié)果稱為facet. 它并不會(huì)修改查詢結(jié)果信息, 只是在查詢結(jié)果上根據(jù)分類添加了count信息, 然后用戶根據(jù)count信息做進(jìn)一步的查詢, 比如淘寶的查詢列表中, 上面會(huì)表示不同的類目相關(guān)查詢結(jié)果的數(shù)量. 

比如搜索數(shù)碼相機(jī), 在搜索結(jié)果欄會(huì)根據(jù)廠商, 分辨率等維度列出, 這里廠商, 分辨率就是一個(gè)個(gè)facet. 

然后在廠商下面會(huì)有nikon, canon, sony等品牌, 這個(gè)叫約束(constraints) 

接下來是根據(jù)選擇, 列出當(dāng)前的導(dǎo)航路徑, 這個(gè)叫面包屑(breadcrumb). 

solr有幾種facet: 
普通facet, 比如從廠商品牌的維度建立fact 
查詢facet, 比如根據(jù)價(jià)格查詢時(shí), 將根據(jù)價(jià)格, 設(shè)置多個(gè)區(qū)間, 比如0-10, 10-20, 20-30等 
日期facet, 也是一種特殊的范圍查詢, 比如按照月份進(jìn)行facet. 

facet的主要好處就是可以任意對搜索條件進(jìn)行組合, 避免無效搜索, 改善搜索體驗(yàn). 

facet都是在查詢時(shí)通過參數(shù)指定. 比如 
在http api中這樣寫: 

引用

"&facet=true&facet.field=manu"

java代碼 solrj這樣寫: 

   query.setFacet(true);//是否分組查詢
   query.setRows(0);//設(shè)置返回結(jié)果條數(shù),如果你時(shí)分組查詢,你就設(shè)置為0
   query.addFacetField("region");//增加分組字段   q
   query.addFacetField("theme");//增加分組字段   q
   QueryResponse rsp = server.query(query);
   //取出結(jié)果  
   FacetField facetField = rsp.getFacetField("region");
   List counts = null;
   if (facetField != null) {
     counts = facetField.getValues();
     if (counts != null) {
      for (Count count : counts) {
       if (count.getCount() != 0) {
        listRegion.add(count.getName()+"("+count.getCount()+")");
      }
      }
      map.put("region", listRegion);
     }
   }
   
   FacetField facetFieldTheme = rsp.getFacetField("theme");
   List countsTheme = null;
   if (facetFieldTheme != null) {
    countsTheme = facetFieldTheme.getValues();
     if (countsTheme != null) {
      for (Count count : countsTheme) {
         if (count.getCount() != 0) {
        listTheme.add(count.getName()+"("+count.getCount()+")");
      }
      }
      map.put("theme", listTheme);
     }
   }

而xml返回的結(jié)果為這樣: 


            
               17
               12
               12
               9
               4
            

通過java代碼可以這樣獲取facet結(jié)果:

List facetFields = queryResponse.getFacetFields();

在已有的查詢基礎(chǔ)上增加facet query, 可以這樣寫: 

solrQuery.addFacetQuery("quality:[* TO 10]")

比如對價(jià)格按照指定的區(qū)間進(jìn)行facet, 可以這樣加上facet后綴: 

引用

&facet=true&facet.query=price:[* TO 100] 
&facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] 
&facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] 
&facet.query=price:[500 TO *]



如果要對價(jià)格在400到500期間的產(chǎn)品做進(jìn)一步的搜索, 那么可以這樣寫(使用了solr的過濾查詢): 

引用

http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &fq=price:[400 to 500]



注意這里的facet field不再包含price了 

如果這里對類型做進(jìn)一步的查詢, 那么query語句可以這樣寫: 

引用

http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu &fq=price:[400 to 500] &fq=camera_type:SLR 


facet的使用場景: 
1.類目導(dǎo)航 
2.自動(dòng)提示, 需要借助一個(gè)支持多值的tag field. 
3.熱門關(guān)鍵詞排行, 也需要借助一個(gè)tag field 

到此,相信大家對“solr4.7分組查詢facet怎么使用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)站名稱:solr4.7分組查詢facet怎么使用
網(wǎng)頁鏈接:http://weahome.cn/article/jgpcsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部