Solr学习总结-查询

指定field查询

http://localhost:8983/solr/select?q=author:rafal

按照dismax查询:可以指定多个域,每个域的匹配都有不同的分数

http://localhost:8080/solr/select?q=title&qf=title^1 text^5&defType=dismax

按照“或”的关系查询

http://localhost:8983/solr/select?q=author:(solr cookbook)

按照某个field排序

http://localhost:8983/solr/select?q=solr&sort=author+asc,score+desc

选择不同的query parser,可以定制针对不同的单词采用不同的查找方法

http://localhost:8983/solr/select?q=book&qf=title&defType=dismax

执行phrase查询以及slope

http://localhost:8983/solr/select?q=title:"2010 report"~1

针对phrase查询,如果满足单词相邻,boost他

http://localhost:8983/solr/select? defType=dismax&pf=title^100&q=2010+report&qf=title

http://localhost:8983/solr/select?q=title:(2010+AND+report)+OR+title:"2010+report"^100

针对具体的查询串(一般是string),给予排名自定义(前提是得分相同)。首先在sorlconfig.xml中定义下面

[plain]  view plain copy
  1. <searchComponent name="elevator" class="solr.QueryElevationComponent"  
  2. >  
  3. <str name="queryFieldType">string</str>  
  4. <str name="config-file">elevate.xml</str>  
  5. </searchComponent>  
  6. <requestHandler name="/promotion" class="solr.SearchHandler">  
  7. <arr name="last-components">  
  8. <str>elevator</str>  
  9. </arr>  
  10. </requestHandler>  
其次编写elevate.xml:
[plain]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <elevate>  
  3. <query text="solr">  
  4. <doc id="3" />  
  5. <doc id="1" exclude="true" /><!-- 此文件不会被查询到,相当于被百度屏蔽 -->  
  6. </query>  
  7. </elevate>  
最后查询:http://localhost:8983/solr/ promotion?q=solr

按照距离查询

http://localhost:8983/solr/select?q=company&sort=dist(2,x,y,0,0)+asc

指定满足查询词的数量:其中mm即为妖满足的查询词的数量

http://localhost:8983/solr/select?q=book+revised+another+ different+word+that+doesnt+count&defType=dismax&mm=2

按照指定的field排名,下面是按照sold排名评分:

http://localhost:8983/solr/select?defType=dismax&qf=title&q=revised&fl=*,score&bf=product(sold)

嵌入查询,满足花括号内的条件的将分数相乘

http://localhost:8983/solr/select?q=revised+AND+book+AND+_query_:"{!dismax qf=title pf=title^10 v=$qq}"&qq=revised+book

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值