Solr 对字段的实际值使用FunctionQuery idf

Solr 对字段的实际值使用FunctionQuery idf,solr,solr4,Solr,Solr4,我有一个包含一些产品描述、图像URL和数量的Solr索引。默认的搜索字段是Desc,即描述,尽管其他字段是存储和索引的。我希望提升具有更多唯一图像的产品,即ImageUrl的唯一值,它基本上是图像二进制文件的GUID路径。我的意思是,一个产品的形象只出现了2次,会比另一个产品的形象出现了5次得到提升 我认为最合适,但需要我指定术语,即它被定义为idffield,Term,但我希望第二个参数是字段值。我尝试了以下操作,但得到了NullPointerException: &bf=idf(Im

我有一个包含一些产品描述、图像URL和数量的Solr索引。默认的搜索字段是Desc,即描述,尽管其他字段是存储和索引的。我希望提升具有更多唯一图像的产品,即ImageUrl的唯一值,它基本上是图像二进制文件的GUID路径。我的意思是,一个产品的形象只出现了2次,会比另一个产品的形象出现了5次得到提升

我认为最合适,但需要我指定术语,即它被定义为idffield,Term,但我希望第二个参数是字段值。我尝试了以下操作,但得到了NullPointerException:

&bf=idf(ImageUrl,field(ImageUrl))
我意识到这是因为字段总是试图计算一个数值,但它失败了。无论如何,这是一种获取字段值的方法

我可以说一个boost函数,比如:

&bf=log(qty)
工作完美,即&bf部分似乎正确

如果我能试试,我会很感激的。我正在运行Solr4.9

编辑:根据以下要求,我正在为ImageUrl字段添加架构:

ImageUrl是多值的,对吗?如果没有,请提供架构配置。另外,提升具有更多独特图像的产品,我的意思是,一个图像只出现2次的产品将比另一个图像出现5次的产品得到提升。。。。尝试的bf是否应该用5个匹配项来提升产品,而不是用2个匹配项来提升产品?谢谢rchukh。ImageUrl是单值的。我想与通用图像的产品排名较低。
<field name="ImageUrl" type="string" indexed="true" stored="true"/>