Solr 6.1.0:无法为BlendedInfixLookupFactory建议器指定指数

时间:2017-01-16 21:42:39

标签: solr lucene

在Solr 6.1.0中使用blenderType = position_reciprocal时,如何为BlendedInfixLookupFactory建议器指定指数配置变量?

我使用Solr相对较新,但我已成功获得建议并运行。我试图使用BlendedInfixLookupFactory,但无法弄清楚如何指定指数配置变量。

我的solrconfig.xml文件中的相关位置:

<searchComponent class="solr.SuggestComponent" name="suggest">
 <lst name="suggester">
   <str name="name">name</str>
   <str name="lookupImpl">BlendedInfixLookupFactory</str>
   <str name="dictionaryImpl">DocumentDictionaryFactory</str>
   <str name="field">field</str>
   <str name="weightField">weightField</str>
   <str name="contextField">contextField</str>
   <str name="suggestAnalyzerFieldType">text_en</str>
   <str name="blenderType">position_reciprocal</str>
   <double name="exponent">2.0</double>
 </lst>
</searchComponent>

查看我的建议者返回的权重,看起来使用的指数是1.0,尽管默认列为2.0。

示例数据:

初始体重= 540

位置= 5

最终体重= 90。

因此,如果我为指数求解,我得到1.0。

等式是:  FinalWeight = InitialWeight *(1 /(1 + Position)^ Exp)

90 = 540 *(1 /(1 + 5)^ Exp)

1 个答案:

答案 0 :(得分:0)

事实证明我使用的是不正确的blenderType。存在第三个选项,称为&#34; position_exponential_reciprocal&#34;允许使用指数选项。此选项未在文档中列出,但可以在GitHub上托管的源代码中找到。

我会保留这个问题,以防其他人犯同样的错误。