转载:http://mxsfengg.iteye.com/blog/308335

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

如何在solrconfig.xml中配置

下面是一个在solrconfig.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>

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文件的范例。

  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>

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

solr中竞价排名实现的更多相关文章

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

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

  2. 将外卖O2O广告一棍子打成竞价排名,秤把平了吗?

    近日,诸多媒体报道称美团外卖.饿了么等外卖O2O将竞价排名引入外卖平台当中进行广告运营一事闹得沸沸扬扬.那么,美团外卖.饿了么真的都是竞价排名吗? 其实,美团外卖的付费推广仅仅只是针对列表的固定位置, ...

  3. Solr基础理论【排名检索、查准率、查全率】

    一.排名检索 搜索引擎代表了基于查询,返回优先文档的一种方法.在关系型数据库的SQL查询中,表的一行要么匹配一个查询,要么不匹配,查询结果基于一列或多列排序.搜索引擎根据文档与查询匹配的程度为文档打分 ...

  4. 在Solr中配置和使用ansj分词

    在上一节[编译Ansj之Solr插件]中介绍如何编译ansj分词在solr(lucene)环境中使用的接口,本章将介绍如何在solr中使用ansj,其步骤主要包括:下载或者编译ansj和nlp-lan ...

  5. solr与.net系列课程(八)solr中重跑索引的注意事项

    solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来 ...

  6. Solr中初学Demo

    import java.util.Collection; import java.util.Date; import org.apache.solr.client.solrj.SolrQuery; i ...

  7. SQL点滴20—T-SQL中的排名函数

    原文:SQL点滴20-T-SQL中的排名函数 提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的.还可能会想到ide ...

  8. solr中重跑索引

    solr与.net系列课程(八)solr中重跑索引的注意事项   solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务 ...

  9. Solr中Field常用属性

    FieldType 实例:<fieldType name="text_ik" class="solr.TextField"></fieldTy ...

随机推荐

  1. 二十八个 HTML5 特性与技巧

    1. New Doctype  你还在使用令人讨厌的难记的XHTML文档类型声明吗?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...

  2. to_number,Extract oracle的关键字

    to_number(Extract(year from 字段名)) 简介:获取时间字段的年份后转换为数字

  3. How Tomcat Works(十七)

    在前面的文章中,已经学会了如何通过实例化一个连接器和容器来获得一个servlet容器,并将连接器和容器相关联:但在前面的文章中只有一个连接器可用,该连接器服务8080端口上的HTTP请求,无法添加另一 ...

  4. java设计模式(装饰模式)

    装饰模式实现了可以动态地为原对象扩展方法 装饰对象与被装饰的都实现了同一个接口(或抽象类) 举个例子: 工作 可以边吃东西边工作,也可以边喝东西边工作,还可以工作的时候边吃边喝 创建共同接口 Work ...

  5. HTTP原理

    HTTP原理 1 简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客 ...

  6. 10个经典的Java main 方法面试题

    1. 不用main方法如何定义一个类? 不行,没有main方法不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7 开始就不行了. 2. main() ...

  7. iisapp 命令 弹出 iisschlp.wsc [88,25] 属性值无效 progid

    iisapp 命令 弹出 iisschlp.wsc [88,25] 属性值无效 progid 在执行iisapp.vbs时,可能会提示如下错误:Windows Script Component - f ...

  8. Java是如何管理内存的?

    本文转自CSDN用户Kevin涂腾飞的文章java内存管理机制:http://blog.csdn.net/tutngfei1129287460/article/details/7383480 JAVA ...

  9. javascript第三方组件

    一.一个javascript文件上传组件.转载:http://www.cnblogs.com/fumj/archive/2012/12/07/2806673.html http://fineuploa ...

  10. Hadoop on Mac with IntelliJ IDEA - 6 解决KeyValueTextInputFormat读取时只有key值问题

    本文讲述使用KeyValueTextInputFormat在Hadoop 0.x正常工作.Hadoop 1.2.1失效的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA ...