当前位置: 首页 > news >正文

帝国+只做网站地图/百度排名规则

帝国+只做网站地图,百度排名规则,长沙网站开发微联讯点靠谱,兰州市城乡建设局网站官网Facet[fsɪt]很难翻译,只能靠例子来理解了。Solr作者Yonik Seeley也给出更为直接的名字:导航(Guided Navigation)、参数化查询(Paramatic Search)。 上面是比较直接的Faceted Search例子,品牌、…

Facet['fæsɪt]很难翻译,只能靠例子来理解了。Solr作者Yonik Seeley也给出更为直接的名字:导航(Guided Navigation)、参数化查询(Paramatic Search)。

上面是比较直接的Faceted Search例子,品牌、产品特征、卖家,均是 Facet 。而Apple、Lenovo等品牌,就是 Facet values 或者说 Constraints ,而Facet values所带的统计值就是 Facet count/Constraint count 。

2 、Facet 使用

q = 超级本 
facet = true 
facet.field = 产品特性 
facet.field = 品牌 
facet.field = 卖家

http://…/select?q=超级本&facet=true&wt=json

&facet.field=品牌&facet.field=产品特性&facet.field=卖家

也可以提交查询条件,设置fq(filter query)。

q = 电脑 
facet = true 
fq = 价格:[8000 TO *] 
facet.mincount = 1 // fq将不符合的字段过滤后,会显示count为0  备注 by zhz :设置没有结果的栏目不显示,最少1个count才显示
facet.field = 产品特性 
facet.field = 品牌 
facet.field = 卖家

http://…/select?q=超级本&facet=true&wt=json

&fq=价格:[8000 TO *]&facet.mincount=1

&facet.field=品牌&facet.field=产品特性&facet.field=卖家

"facet_counts": {
"facet_fields": {"品牌": ["Apple", 4,"Lenovo", 39…]"产品特性": ["显卡", 42,"酷睿", 38…]…}}

如果用户选择了Apple这个品牌,查询条件中需要添加另外一个fq查询条件,并移除Apple所在的facet.field。

eg:代码实现可以使用数组保存所有facet.field  选择某个品牌后,移除数组中的品牌

http://…/select?q=超级本&facet=true&wt=json

&fq=价格:[8000 TO *]&fq=品牌:Apple&facet.mincount=1

&facet.field= 品牌 &facet.field=产品特性&facet.field=卖家

3 、Facet 参数

facet.prefix  –   限制constaints的前缀

facet.mincount=0 –  限制constants count的最小返回值,默认为0

facet.sort=count –  排序的方式,根据count或者index

facet.offset=0  –   表示在当前排序情况下的偏移,可以做分页

facet.limit=100 –  constraints返回的数目

facet.missing=false –  是否返回没有值的field

facet.date –  Deprecated, use facet.range

facet.query

指定一个查询字符串作为Facet Constraint

facet.query = rank:[* TO 20]

facet.query = rank:[21 TO *]

"facet_counts": {
"facet_fields": {"品牌": ["Apple", 4,"Lenovo", 10…]"产品特性": ["显卡", 11,"酷睿", 20…]…}}

facet.range

http://…/select?&facet=true

&facet.range=price

&facet.range.start=5000

&facet.range.end=8000

&facet.range.gap=1000

<result numFound="27" ... />...<lst name="facet_counts"><lst name="facet_queries"><int name="rank:[* TO 20]">2</int><int name="rank:[21 TO *]">15</int></lst>
...

WARNING:  range范围是左闭右开,[start, end)

facet.pivot

这个是Solr 4.0的新特性,pivot和facet一样难理解,还是用例子来讲吧。

Syntax:  facet.pivot=field1,field2,field3...

e.g.  facet.pivot=comment_user, grade

用户选修课成绩

#docs

#docs grade:好

#docs 等级:中

#docs 等级:差

comment_user:1

10

8

1

1

comment_user:2

20

18

2

0

comment_user:3

15

12

2

1

comment_user:4

18

15

2

1

"facet_counts":{
"facet_pivot":{"comment_user, grade ":[{"field":"comment_user","value":"1","count":10,"pivot":[{"field":"grade","value":"","count":8}, {"field":"grade","value":"","count":1}, {"field":"grade","value":"","count":1}]}, {"field":" comment_user ","value":"2","count":20,"pivot":[{…

http://...q= comment&facet=true&facet.field=comment_user  统计每个用户的选课总数

没有pivot机制的话,要做到上面那点可能需要多次查询:

http://...q= comment&fq= grade:好&facet=true&facet.field=comment_user

http://...q=comment&fq=grade:中&facet=true&facet.field=comment_user

http://...q=comment&fq=grade:差&facet=true&facet.field=comment_user


套用第一个例子:

不使用pivot:

http://…/select?q=超级本&facet=true&wt=json

&fq=价格:[8000 TO *]&fq=品牌:联想&facet.mincount=1

&facet.field= 品牌 &facet.field=产品特性

结果=统计品牌是联想的  每种产品特征

不使用pivot:


Facet.pivot -  Computes a Matrix of Constraint Counts across multiple Facet Fields. by Yonik Seeley.

上面那个解释很不错,只能理解不能翻译。


facet.pivot自己的理解,就是按照多个维度进行分组查询,以下是自己的实战代码,按照newsType,property两个维度统计:

public List<ReportNewsTypeDTO> queryNewsType(ReportQuery reportQuery) {    HttpSolrServer solrServer = SolrServer.getInstance().getServer();SolrQuery sQuery = new SolrQuery();List<ReportNewsTypeDTO> list = new ArrayList<ReportNewsTypeDTO>();try {String para = this.initReportQueryPara(reportQuery, 0);sQuery.setFacet(true);sQuery.add("facet.pivot", "newsType,property");//根据这两维度来分组查询sQuery.setQuery(para);QueryResponse response = solrServer.query(sQuery,SolrRequest.METHOD.POST);     NamedList<List<PivotField>> namedList = response.getFacetPivot();System.out.println(namedList);//底下为啥要这样判断,把这个值打印出来,你就明白了if(namedList != null){List<PivotField> pivotList = null;for(int i=0;i<namedList.size();i++){pivotList = namedList.getVal(i);if(pivotList != null){ReportNewsTypeDTO dto = null;for(PivotField pivot:pivotList){dto = new ReportNewsTypeDTO();dto.setNewsTypeId((Integer)pivot.getValue());dto.setNewsTypeName(News.newsTypeMap.get((Integer)pivot.getValue()));int pos = 0;int neg = 0;List<PivotField> fieldList = pivot.getPivot();if(fieldList != null){for(PivotField field:fieldList){int proValue = (Integer) field.getValue();int count = field.getCount();if(proValue == 1){pos = count;}else{neg = count;}}}dto.setPositiveCount(pos);dto.setNegativeCount(neg);list.add(dto);}}}}return list;} catch (SolrServerException e) {log.error("查询solr失败", e);e.printStackTrace();} finally{solrServer.shutdown();solrServer = null;}return list;    }
namedList打印结果:
{newsType,property=
[
newsType:8 [4260] [property:1 [3698] null, property:0 [562] null], 
newsType:1 [1507] [property:1 [1389] null, property:0 [118] null], 
newsType:2 [1054] [property:1 [909] null, property:0 [145] null], 
newsType:6 [715] [property:1 [581] null, property:0 [134] null], 
newsType:4 [675] [property:1 [466] null, property:0 [209] null], 
newsType:3 [486] [property:1 [397] null, property:0 [89] null], 
newsType:7 [458] [property:1 [395] null, property:0 [63] null], 
newsType:5 [289] [property:1 [263] null, property:0 [26] null], 
newsType:9 [143] [property:1 [138] null, property:0 [5] null]
]
}
这下应该明白了。写到这里,突然想到一个,所有的分组查询统计,不管是一个维度两个维度都可以使用face.pivot来统计,不错的东东。
http://www.jmfq.cn/news/4866841.html

相关文章:

  • 网站开发支付超时如何解决/项目网
  • 网站建设要学哪些方面/网络小说排行榜
  • 自己做的网站如何让百度搜索/企业如何建立网站
  • 做教程网站如何查用户搜索/seo查询源码
  • 网站seo怎么做/百度认证营销推广师
  • 设计家装修网站/优化方案模板
  • 怎么知道一个网站是哪家公司做的/网站seo技术教程
  • 免费自己做网站/推广方式有哪几种
  • 网站绑定微信公众号/网站平台如何推广
  • b2b商城网站开发/网络营销的手段包括
  • 中国建设论坛网站大全/长沙网站seo
  • 网站建设供应商税点/军事新闻今日最新消息
  • 做图片的网站都有哪些/市场营销推广方案
  • 网站从建设到运行要多少钱/石家庄seo管理
  • 做墙绘一般在哪个网站/友情链接购买网站
  • 委托网站开发所有权归属/销售管理怎么带团队
  • 网站空间的管理站点/营销推广渠道
  • 产品做网站不花钱/2020最近的新闻大事10条
  • 网站的域名都有哪些/网站seo方案模板
  • 昆明婚恋网站价格/北京环球影城每日客流怎么看
  • php网站服务器怎么来/百度手机助手app下载安装
  • 学校建设网站的意义/潍坊网站建设seo
  • 国际学校网站建设/微信推广文案
  • 西安高端网站建设哪家好/优化大师兑换码
  • 网站公安备案公告/域名查询网址
  • 福田做棋牌网站建设哪家好/google搜索引擎下载
  • 手机版 网站建设/新冠咳嗽怎么办
  • 怎么做可以直播的网站吗/seo网站推广公司
  • 思想政治教育网站建设/微信推广广告在哪里做
  • 做牛仔的时尚网站/磁力bt种子搜索神器