本月博客排行
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
wy_19921005 - gashero
- gengyun12
- robotmen
- 大家都说我很棒
- vipbooks
- fantaxy025025
- wallimn
- hbxflihua
- qepwqnp
- 解宜然
- e_e
- ranbuijj
- javashop
- zw7534313
- ssydxa219
- jickcai
- sam123456gz
- gdpglc
- zysnba
- sichunli_030
- benladeng5225
- tanling8334
- appalese
- gaojingsong
- gaozzsoft
- zhangyi0618
- wiseboyloves
- xpenxpen
- jh108020
- luxurioust
- xyuma
- nychen2000
- 龙哥IT
- arpenker
- wjianwei666
- jbosscn
- wangchen.ily
- lzyfn123
- 狂盗一枝梅
- Jameslyy
- hanbaohong
- bsszds
- java-007
- xiangjie88
- mengjichen
- silverend
- ajinn
最新文章列表
solr的facet源码解读(三)——facet.field之数字单值域类型
(这个使用的solr的版本是4.10)
承接上一篇文章,在对单值域的数字类型的域做facet的时候,会使用FCS方法,里面再调用的方法是NumericFacets.getCounts(searcher, base, field, offset, limit, mincount, missing, sort);所以看看这个的代码吧:
/**
* 处理单值域的数字类型的facet
* @ ...
solr的facet源码解读(二)——facet.field
facet.field比facet.query要复杂的多,参数也更多,看看代码吧,方法是:SimpleFacets.getFacetFieldCounts()
public NamedList<Object> getFacetFieldCounts() throws IOException, ...
solr的facet源码解读(一)——facet.query
solr的facet query意思很简单,表示在所有的搜索到的结果中,符合某个query的doc有多少个。他的实现原理也很简单。
solr中所有的facet的操作都在facetComponent中,在这个类的process方法里面,会将facet委托给SimpleFacet这个类,然后调用simpleFacet.getFacetCounts方法。我们要说的facet.query就是在这个类中 ...
Lucene 维度统计(facet)
写入
1,org.apache.lucene.facet.FacetField 元数据里面facet统计 的字段
2,org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter 分类写
3,org.apache.lucene.facet.FacetsConfig; facet配置
查询
1,or ...
Lucene5学习之Facet(续)
默认Facet是统计落入某一组域值的总数的,然后按照总数从大到小排序,判定规则是域值是否相同,其实还可以根据域值是否在某个范围内来判定是否落入某一个分组。这里说的范围就是通过Range定义的,比如:
/**1小时之前的毫秒数*/
final LongRange PAST_HOUR = new LongRange("Past hour" ...
Lucene5学习之Facet简单入门
说到Facet,我还真找不到一个合适的中文词汇来描述它,英文翻译是方面,感觉不够贴切,大家也不必纠结它的中文叫法是啥,你只需要知道使用Facet能解决什么类型的问题就行了,来看几个典型的应用案例:
看了上面几张图,大家应该知道Facet是用来干嘛的了,如果非要用语言描述Facet的用途,那Facet的用途就是根据域的域值进行分组统计,注意这里的域必须是Facet ...
Lucene/Solr(5.0) 源码初探- Lucene Facet SortedSetDocValues (三)
前面粗略研究了SortedSetDocValues如何index,这章研究粗略看下如何在搜索过程中做facet,还是以lucene 5.0自带的例子做为开头:
//SimpleSortedSetFacetsExample
private List<FacetResult> search() throws IOException {
DirectoryReader inde ...
Lucene/Solr(5.0) 源码初探- Lucene Facet SortedSetDocValues (二)
//SortedSetDocValuesWriter
public void addValue(int docID, BytesRef value) {
if (value == null) {
throw new IllegalArgumentException("field \"" + fieldInfo.name + "\ ...
Lucene/Solr(5.0) 源码初探- Lucene Facet SortedSetDocValues (一)
最近研究lucene 5.0 源码, 有点心得,记在此处以免忘却。查过资料lucene4.0+全面 升级了对facet的功能效率问题,其一直宣传的一点是用DocValues改进和应用,DocValues主要是在正向索引中为每个文档存储相应的需要facet 的 field的值(配以相应的存储格式和压缩算法)来改变其效率,在本文中先用 SortedSetDocValues 做为研究例子,同时用lucen ...
Solr Facet Field (Group by field)
solr将以导航为目的的查询结果称为facet. 它并不会修改查询结果信息, 只是在查询结果上根据分类添加了count信息, 然后用户根据count信息做进一步的查询, 比如淘宝的查询列表中, 上面会表示不同的类目相关查询结果的数量. 比如搜索数码相机, 在搜索结果栏会根据厂商, 分辨率等维度列出, 这里厂商, 分辨率就是一个个facet. 然后在厂商下面会有nikon, canon, sony等 ...
solr笔记
“Pretty” facet.field Terms
§ Field Faceting uses Indexed Terms
§ Leverage copyField and TokenFilters that will
give you good looking Constraints
<tokenizer
class="solr.PaPernTokenizerFac ...
Elasticsearch聚合功能Facet
在常规数据库中,我们都知道有一个sql就是group,分组。如果主表只有对应的一个列记录的分组的ID,那么还好统计,比如说每本书book表,有一个分类catId,记录是属于哪一类的书,那么直接按照catId进行分组即可。可是在实际应用种,并非如此简单。一本书往往属于多个分类,比如:某本书既属于科技类书,又属于儿童类书,要求按照这两种条件进行筛选,都能筛选出来,如果要求按照分类进行统计数量,数据库 ...
Elasticsearch TermFacet 耗内存问题
解决方案有下:
1.设置cache大小和过期时间。
index.cache.field.max_size
index.cache.field.expire
例如设置:
index.cache.field.max_size: 50000 //index中每个segment中可包含的最大的entries数目
index.cache.field.expire: 10m ...
Solr Facet 搜索时,facet.missing = true 的真正含义 .
Solr的WiKI原文是如下解释:
facet.missing
Set to "true" this param indicates that in addition to the Term based constraints of a facet field, a count of all matching results which have no value for th ...