无法理解boost函数solr查询

时间:2017-06-07 12:51:56

标签: boost solr solr-query-syntax

我是solr的新手,并试图了解boost函数的工作原理。

以下是现有的查询 -

    http://solr_slave_2/solr/datCore/select?indent=on&q=qq=live+scores:+england+vs+new+zealand+champions+trophy&q={!boost+b%3D$dateboost+v%3D$qq+defType%3Ddismax}&dateboost=recip(ms(NOW/DATE,createdDate),3.16e-8,1,1)&defType=dismax&qf=title+subject&fq=(filetype:text)&start=0&rows=20&fl=title,subject,createdDate,score

查找上面查询的以下结果集 -

  <doc>
  <str name="subject">
  Get live cricket score & live commentary of 3rd wamp-up match between India vs New Zealand on Times of India.
  </str>
  <str name="title">Champions Trophy, warm-up: India v New Zealand</str>
  <date name="createdDate">2017-05-28T09:33:51Z</date>
  <float name="score">39.4114</float>
  </doc>
  <doc>
  <str name="subject">
  Get all the live updates from Match 6 of the Champions Trophy between England and New Zealand.
  </str>
  <str name="title">Champions Trophy Live: England v New Zealand</str>
  <date name="createdDate">2017-06-06T08:56:29Z</date>
  <float name="score">37.291893</float>
  </doc>

有人可以帮我理解如何计算上述分数吗?

是否在字段中匹配的最大字数?或者是用于计算得分的单个词的频率?或其他什么?

请指导。

谢谢,

Vibhav

P.S - 如果有人选择对该问题进行投票,请在评论中提及原因,以便我可以改进此问题的详细信息。

1 个答案:

答案 0 :(得分:2)

如果无法访问您的Solr实例,则无法确定您的分数是如何计算的,因为它取决于很多因素(匹配,术语,字段,频率等)。我的建议只是将debugQuery=true添加到您的查询中并检查您将获得的调试输出(一个附加部分),其中包括如何转换您的查询以及如何计算得分,因为输出非常详细。

我强烈建议您使用http://splainer.io/表示如何计算得分以及哪些是影响您得分的更重要因素。