【发布时间】:2015-02-11 22:12:20
【问题描述】:
我有一个类似的查询:
我需要提升 user_id_i:(123 OR 222 OR 512 OR 932) 的结果
类似 => __val_:"if(user_id_i:(123 OR 222 OR 512 OR 932), 100, 0)"
但显然我需要一个针对特定问题返回真或假的函数。
【问题讨论】:
我有一个类似的查询:
我需要提升 user_id_i:(123 OR 222 OR 512 OR 932) 的结果
类似 => __val_:"if(user_id_i:(123 OR 222 OR 512 OR 932), 100, 0)"
但显然我需要一个针对特定问题返回真或假的函数。
【问题讨论】:
我认为您可以为此使用boost 查询参数,但您必须使用 edismax 查询解析器而不是 lucenePlusSort 解析器。
(http://wiki.apache.org/solr/ExtendedDisMax#boost_.28Boost_Function.2C_multiplicative.29)
[boost] => product(if(exists(query({!v='user_id_i:(123 OR 222 OR 512 OR 932)'})),100,1))
【讨论】: