0

我有一个类似的查询:

http://solr1:8983/solr/select?defType=lucenePlusSort&fl=pk_i,score&json.nl=map&qt=standard&rows=36&sort=&start=0&wt=json&q=type_s:Product+AND+is_valid_b:true

我需要提高 user_id_i:(123 OR 222 OR 512 OR 932) 的结果

类似于 => __val_:"if(user_id_i:(123 OR 222 OR 512 OR 932), 100, 0)"

但很明显,我需要一个针对该特定问题返回 true 或 false 的函数。

4

1 回答 1

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))

于 2015-02-11T14:12:20.780 回答