【发布时间】:2010-11-15 16:59:04
【问题描述】:
我遇到了 Lucene 的 Term [Boosting][1] 查询语法的问题,特别是在 Ruby on Rails 中通过 sunspot_rails gem。这样您就可以在查询期间指定特定术语的权重,并且与特定字段的权重无关。
sunspot 生成的 HTML 查询使用 qf 参数指定要按照配置搜索的字段,以及查询本身的 q 参数。当插入符号添加到搜索词以指定提升(即 q=searchterm^5)时,它不会返回任何结果,即使返回的结果会没有提升词。
另一方面,如果我手动创建 HTTP 查询并手动指定要搜索的字段 (q=title_texts:searchterm^5),则会返回结果并且分数似乎会受到提升的影响。
简而言之,查询词提升似乎无法与 qf 指定的字段一起使用。
我的应用程序要求跨多个字段进行搜索,使用与这些字段相关联的相应提升,有条件地依次使用查询的单个字词提升。
有什么见解吗?
[1]:http://lucene.apache.org/java/2_9_1/queryparsersyntax.html#Boosting 一个术语
【问题讨论】:
标签: ruby-on-rails lucene solr sunspot