zoukankan      html  css  js  c++  java
  • solr中竞价排名实现

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

     通常,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.   
    6.   <requestHandler name="/elevate" class="solr.SearchHandler">  
    7.     <lst name="defaults">  
    8.       <str name="echoParams">explicit</str>  
    9.     </lst>  
    10.     <arr name="last-components">  
    11.       <str>elevator</str>  
    12.     </arr>  
    13.   </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.   
    3.  <query text="AAA">  
    4.   <doc id="A" />  
    5.   <doc id="B" />  
    6.  </query>  
    7.   
    8.  <query text="ipod">  
    9.   <doc id="A" />  
    10.   
    11.   <!-- you can optionally exclude documents from a query result -->  
    12.   <doc id="B" exclude="true" />  
    13.  </query>  
    14.   
    15. </elevate>  

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

  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/a198720/p/3941660.html
Copyright © 2011-2022 走看看