通常,lucene只返回与用户查询相关的文档,搜索的结果,跟lucene对文档评分有关。而在现实的查询中,我们有些时候需要为某些特定的文档指定它们在搜索结果中的位置。solr1.3 新推的组件QueryElevationComponent实现了这样的功能。

如何在solrconfig.xml中配置

下面是一个在solrconfig.xml中配置的范例:

Xml代码  
  1. <searchComponent name="elevator" class="org.apache.solr.handler.component.QueryElevationComponent" >
  2. <str name="queryFieldType">string</str>
  3. <str name="config-file">elevate.xml</str>
  4. </searchComponent>
  5. <requestHandler name="/elevate" class="solr.SearchHandler">
  6. <lst name="defaults">
  7. <str name="echoParams">explicit</str>
  8. </lst>
  9. <arr name="last-components">
  10. <str>elevator</str>
  11. </arr>
  12. </requestHandler>
<searchComponent name="elevator" class="org.apache.solr.handler.component.QueryElevationComponent" ><str name="queryFieldType">string</str><str name="config-file">elevate.xml</str></searchComponent><requestHandler name="/elevate" class="solr.SearchHandler"><lst name="defaults"><str name="echoParams">explicit</str></lst><arr name="last-components"><str>elevator</str></arr></requestHandler>

queryFieldType

这个参数指定了 输入的查询参数的类型。

config-file

这个参数指定elevation配置文件的路径。这个文件必须存在于以下两个位置:

  1. ${instanceDir}/conf/${config-file}
  2. ${dataDir}/${config-file}

如果配置文件在/conf/目录下,它只会在项目启动的时候被加载。如果配置文件实在data目录下,那么实例化IndexReader的时候会被加载。

forceElevation

默认情况下,这个组件是尊重“sort”参数的,这个怎么说呢。举个例子,如果一个请求要求使用data排序,也就是进行sort,那么组件就会返回根据date排序的结果。我们将forceElevation设为true,那么结果集将首先返回我们指定的文档。

配置 elevate.xml

怎么指定,指定什么样的内容。就是在elevate.xml文件中配置的。下面是一个elevate.xml文件的范例。

Xml代码  
  1. <elevate>
  2. <query text="AAA">
  3. <doc id="A" />
  4. <doc id="B" />
  5. </query>
  6. <query text="ipod">
  7. <doc id="A" />
  8. <!-- you can optionally exclude documents from a query result -->
  9. <doc id="B" exclude="true" />
  10. </query>
  11. </elevate>
<elevate><query text="AAA"><doc id="A" /><doc id="B" /></query><query text="ipod"><doc id="A" /><!-- you can optionally exclude documents from a query result --><doc id="B" exclude="true" /></query></elevate>

在上面的这个配置文件中,当查询“AAA”的时候,会返回文档A,和文档B,然后就是其他的跟相关度有关的文档。

solr中竞价排名实现相关推荐

  1. 在推广中竞价排名是什么?

    竞价排名的基本特点是按点击付费,推广信息出现在搜索结果中(一般是靠前的位置),如果没有被用户点击,则不收取推广费. 在搜索引擎营销中,竞价排名的特点和主要作用如下: (1)按效果付费,费用相对较低: ...

  2. Java程序员必看:Solr vip竞价排名

    功能介绍 本文将使用solr完成vip等级排名,这里并不是简单的按照vip等级排序.而是在使用solr条件查询(不使用排序)的时候将符合条件并且具有vip等级的数据显示在前面,这个时候咱们就要使用so ...

  3. solr java 全量,Java程序员必看:Solr vip竞价排名

    功能介绍 本文将使用solr完成vip等级排名,这里并不是简单的按照vip等级排序.而是在使用solr条件查询(不使用排 序)的时候将符合条件并且具有vip等级的数据显示在前面,这个时候咱们就要使用s ...

  4. Solr QueryElevationComponent--实现竞价排名

    在很多搜索网站上都有这样的一个功能,就是竞价排名,绑定某个关键字,给钱了那我给你排前面. 包括很多视频网站的一些站内搜索功能也有这样的需求: 最近在看solr官网,solr的查询功能中就包含了这一功能 ...

  5. seo中的竞价排名是什么

    seo中的竞价排名是什么 一.总结 一句话总结:竞价排名的基本特点是按点击付费,推广信息出现在搜索结果中(一般是靠前的位置),如果没有被用户点击,则不收取推广费. 搜索引擎的一种推广广告的方式 1.竞 ...

  6. 竞价排名中的道德争议

    多年以来,中国民众受医疗行业虚假广告之害甚深.这类广告最先是针对性病等难言之隐或牛皮癣等难以治愈的顽疾,通过在电线杆或墙壁上贴小广告的方式招揽患者.现在,这类资讯还通过百度竞价排名或者电视台.电台发布 ...

  7. 携程否认竞价排名;戴尔为“吃鸡外挂”致歉;腾讯将发区块链游戏 | CSDN极客头条

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 「CSDN 极客头条」是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报 ...

  8. 什么是SEM竞价推广,竞价排名有何特征?

    随着互联网的日益发展壮大,线上的各类广告开始蓬勃发展,SEM推广也不例外.今天我们就来聊聊什么是SEM竞价推广.在福民网络竞价技术看来做SEM竞价推广特点就是以最小的投入,获得最大的来自搜索引擎的访问 ...

  9. 什么是百度竞价排名?

    百度竞价排名也被称作百度搜索推广.百度关键字推广.是一种按效果付费的网络推广方式,企业在购买该项服务后,提交自己定制的关键词,其推广信息就会率先出现在网民相应的搜索结果中.简单来说就是当用户利用某一关 ...

最新文章

  1. 如何把不同尺寸ico格式图标_还在为图标设计犯难?这篇告诉你图标设计so easy!...
  2. C# 程序打包成安装项目
  3. 用cascade删除有约束的表或记录
  4. Mathematica基础——Part——[[]]
  5. 复制字符串小程序笔记
  6. VTK:小部件之ImplicitPlaneWidget2
  7. mysql1关闭_(2.1)学习笔记之mysql基本操作(启动与关闭)
  8. python邮箱配置_python flask mail QQ邮箱配置
  9. python thread.event
  10. Docker部署nginx并修改配置文件
  11. Python-查看python版本-常用代码-VS编译器版本号
  12. SIR模型的应用(2) - Influence maximization in social networks based on TOPSIS(3)
  13. 32位win10服务器系统,微软将停止支持32位Win10系统 32位Win10系统什么时候停止支持...
  14. Python3.8场景式编程学习与训练- 第1章 入门基础 沙箱技术与虚拟环境创建
  15. 多粒度网络(MGN)的结构设计与技术实现
  16. java求职面试指南
  17. WIN10系统的Edge浏览器怎么能彻底删除掉
  18. 设计模式:可复用面向对象软件的基础
  19. Java系统线上生产问题排查一把梭,华为高级java面试题
  20. 网页无法访问,不安全警告或证书过期问题解决

热门文章

  1. 阿里巴巴从云第一到AI第一的必然性
  2. abab的四字成语_关于abab的四字成语大全
  3. 深度剖析TCP三次握手,面试官拍案叫绝
  4. 计算机病毒发作的后果,计算机病毒和危害
  5. 量化交易:如何让回测更贴近实盘结果
  6. SAP S4HANA BP初探
  7. Leetcode 606: 根据二叉树建立字符串
  8. Android开发整理
  9. JAVA从菜鸟到架构师系列课程
  10. 通过matlab对比不同调制方式下的球形译码误码率仿真,包括BPSK,QPSK,8PSK,4QAM以及16QAM