Solr高级查询Facet

文/阿唐胞苷

一、什么是facet

     
 solr种以导航为目标的询问结果变成facet,在用户查询的结果上根据分类增添了count新闻,然后用户依照count消息做越来越摸索。

       facet首要用以导航已毕渐进式精确搜索,从两张图来看看Facet用途。
(图1)当进入卢萨卡二手车列表时寻找条件会列出具有品牌、车系、价格区间、车系年贷款等等。
(图2)当你点击日产时页面刷新车系会列出民众所属的拥有车系、价格间距。顾名思义我虽solr
facet的通晓也就是:
 当然,你从京东导航、Tmall导航也能见到如此功用,那样的意况下就是solr
facet扮演的角色。

图片 1

图片 2

 

图形源于网络

二、facet查询

     
在接触facet查询进度中能够在solr控制台里多观察询问路径的成形及重返response的成形。

2.1 facet.field使用

q=条件
facet=true or facet=on
facet.fields=品牌
facet.fields=车系
http://localhost:8080/solr/select/?q=*:*&facet=on&facet.field=品牌&facet.field=车系

<response>
    <lst name="responseHeader">......</lst>
    <result name="response" numFound="6" start="0">...</result>
    <lst name="facet_counts">
        <lst name="facet_queries" />
        <lst name="facet_fields">
            <lst name="品牌">
                <int name="大众">1</int>
                <int name="奥迪">1</int>
                <int name="宝马">1</int>
            </lst>
            <lst name="车系">
                <int name="POLO">1</int>
                <int name="迈腾">1</int>
            </lst>
        </lst>
        <lst name="facet_dates" />
        <lst name="facet_ranges" />
    </lst>
</response> 

 

2.2 facet.query 查询

      facet.query类似于filter
query的语法。可以提供自定义区间查询,能够对其他字段进展区间筛选。   

 

q=条件
facet=true
&facet.query=price:[*+TO+3]
&facet.query=price:[3.01+TO+5]

http://localhost:8080/solr/select/?q=*:*&fq=price%3A%5B3.01+TO+5%5D+&facet=true  //注意使用facet.query时不再是facet.query字段,而是fq字段。

 

<response>
    <lst name="responseHeader">......</lst>
    <result name="response" numFound="6" start="0">...</result>
    <lst name="facet_counts">
        <lst name="facet_queries">
               <int name="price:[*+TO+3]">1</int>
           <int name="price:[3.01+5]">1</int>                
         </lst>
        <lst name="facet_fields"/>       
        <lst name="facet_dates" />
        <lst name="facet_ranges" />
    </lst>
</response> 

2.3 facet.Date

http://localhost:8080/solr/select?q=*:*&rows=0&facet=true&facet.date=added&facet.date.start=NOW/DAY-30DAYS&facet.date.end=NOW/DAY&facet.date.gap=+7DAY

<int name="2010-11-08T00:00:00Z">0</int>  
<int name="2010-11-15T00:00:00Z">0</int>  
<int name="2010-11-22T00:00:00Z">0</int>  
<int name="2010-11-29T00:00:00Z">2</int>  
<int name="2010-12-06T00:00:00Z">2</int> 

 

2.4 key操作符

&facet=on

&facet.field={!key=中心处理器}cpu

&facet.field={!key=显卡}videoCard

 

2.5 什么字段适合用facet呢?     

     
facet中适量的字段一般代表某个实体的公共性质,比如品牌、型号、价格区间、小编、厂商、书籍出版商等。

1.

四、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.method
 
取值为enum或fc,默许为fc.该字段表示了二种Facet的算法,与履行作用相关.

facet.date、facet.date.start、facet.date.end、facet.date.gap、facet.date.hardend

wiki   https://wiki.apache.org/solr/SimpleFacetParameters

 

前天上午睡觉前,阿廉说,“时间好快啊,转眼有八个月自身并非每日跑医院了,现在都有些忘了那既劳顿又愁肠的时候了”。

参考资料

http://www.coin163.com/java/docs/201310/d_3010029802.html

http://www.tuicool.com/articles/Iv2UjiU

http://blog.csdn.net/zhangshuliai/article/details/8022316

后天十一月底旬,我得了了年限一年半的又一轮化疗。现在的本身不用长日子住院,只是间隔一个月左右的时间去诊所验血复查,对于曾经住院400多天的本人的话,那不失为小事儿了。

可是,不用天天跑医院,并没让我以为有多轻松和欣喜,换句话说,曾经在诊所受的苦和遭的罪好像在回忆中逐年抹去了。

人,真的是不难“好了伤疤忘了疼”。

2.

阿廉在自我住院的时候,每一天都要赶时间完毕工作,想早点到医务室陪陪我。

她想着赶紧把手下的劳作搞好,然后骑电高铁先回家,把电瓶得到屋里(幸免被盗)。一个来回的六楼折腾下来,气短吁吁,他还要抓紧时间去大巴站。

一旦赶上降水,更是不便利,鞋子和随身的行头平日被淋湿,而且地铁上他还得想想,“今日吃什么样?”

至于就餐的题材,是让洋洋老病者胃疼的事情。不是大家挑剔,而是住的光阴太长,医院附近能吃的焦点都吃过了。

像自家那种长住医院的患儿,吃饭的难题正是愁人的事。家里没人给自己送饭,想增强点儿营养只好外面买。但医院外面附近能吃的(综合价钱,卫生和食材等方面)基本吃腻了,可选择的限定越来越少。

并且,阿廉还得考虑饭菜的软硬度难点。有时自身细胞低的时候,尤其是血小板低,不大概吃硬的东西,防止口腔扎破出血感染,像鱼尽量不要吃,因为有刺;排骨无法吃,太硬,况且外面快餐店的又贵;辣的也尽量不要吃,有刺激性,那样,可供阿廉选的就更少了。

因此,在医务室的时候,大家病友间常说“真思量此前那种想吃啥就吃啥的时候啊!

3.

除外吃的标题,肢体的各个不适还有为数不少。

自我每回住院都有几天,用药后的大便干结,拉不出时肚子胀胀的,很难熬;盐水太多导致人浮肿,小便的量抵然则盐水的量,积攒在人体内,也很伤心;假使盐水太多,小便量少,还要吃利尿药或推利尿剂,那更是难受,十分钟三回的厕所,跑得腿都酸;细胞低时的发热那是必经进度,百分之九十九的人在那儿都会发热,头胀,没精神,吃不下也是一道关;血小板低更是危险期,无法乱走,以防碰着身体,不难流血,最令人担心的是内出血,比如肠胃,眼睛,尾部等。

因此,历次住院就像是闯关一样,各样难过和各类危险都在

4.

可是,上述的那多少个“忧伤”过去后,现在在家“自由”,也临时“解放”了,本人反而好像忘记了当年的艰巨。

就好像前日有人问你过去一年让你最悲伤的是什么样事儿?大家大多数人只是记念让投机痛心的事件本事,而对此当下的那种难熬的心得却在逐步淡忘。

人的大脑就是那般,容量有限,偏好记住那么些美好的东西,对于不佳的感受,留存时间非常短。

而对于那一个已经经历的切肤之痛体验,不是要大家祖祖辈辈记得,只是想让它唤醒我们在向上的路上,时时回头看看,看看那么些本人早已走过的路,既是涉世的下结论,又是升高的鼓舞。

回头看,是为了走的更远。

5.

自家的一个好姊妹,曾经的学童。

近些年擢升为四姨,但和农村的大姨住在一起,心情总是不春风得意。想过段时间出去找工作,但又想着本人怎么也做不了,担心自个儿随后找不到办事,卓殊担忧。

本身和他说,“你想想那时本身在新加坡阅读时吃的苦,遭的罪,想想那时的温馨”。

他当年从河北身单力薄来巴黎学习,兜里揣着家里凑来的四千块钱。除去本人吃喝等日用不算,一年学习费用就要一万块钱,钱不够,如何是好?

他在校园的扶植和调谐的卖力下,贷款交学习开销,靠着自身的奖学金和兼顾赚来的钱,读完了书,并在结业那年靠着本人常常兼顾攒下的钱还完了借款。

当年,她从刚伊始红绿灯都看不通晓的乡村大姑娘,到祥和可以在新加坡遍地找兼职做的自强自立的学童,中间经历的整套苦和难只有她要好最知道。

为了攒钱,她连连两年重阳不回家在酒家打工,付出的分神和汗水又有哪个人能驾驭。

她说,“现在回头看看自身,那么难都能上涨,现在怎么那样不自信呢?”

“就是啊,那么难的时候,本人从未气馁,反倒认为希望就在前边,现在的生存比那时候强多了,怎么能丰裕吧?你肯定行的!”我说。

我让她改过看看,是想让他体会下立时和好那种不怕苦不怕难的心情,让她再度感受下自个儿早就的悲苦经历,对于当今的她的话,是一种刺激,更是一种自信重塑

6.

对于团结,我也要时不时思考自个儿遭过的罪,受过的苦,指标是劝导自个儿肉体健康是首先位的,同时也是报告本人推崇明天的活着

有时候,回头想想,看看本身那4年多经历的事,我还是能感受到温馨的无敌,那也是上下一心信心的来自。

思想,“嗯,那时的投机,挺厉害的呗”。

那多少个被大家逐步忘掉的伤乳腺增生历,尤其是当下的那种感受和心得,可以给我们些鼓励和慰藉。

专门是脆弱的时候,丧失信心的时候,难受的时候,想想那时的友善,可以感受到无敌,体会到自信。“忆苦”不自然就是为了“思甜”,仍可以适时地给协调带来力量。

因此,时不时回头看看,不要走得远了,却忘了来时的路

这是《一个“白血”公主的实在轶事》种类之二十五:那多少个被我们忘记的伤痛。

连锁链接:

25.生死攸关的“考试”

24.性命清单

23.“大家”不是一个人在应战

22.为了活下来,她扬弃了读大学

21.“大家”活着的含义

本节完

多谢您的翻阅

迎接关心!

发表评论

电子邮件地址不会被公开。 必填项已用*标注