使用外部文件来提升结果。外部文件中的更改未反映

时间:2012-06-14 16:44:56

标签: solr

我正在使用带有apachesolr模块的drupal 7。 我有一个外部文件字段来提升我想要的结果。该文件的名称是external_eff_ranking。在架构中,我有:

<fieldType name="pfloat" class="solr.FloatField" omitNorms="true"/>
<fieldType name="file" keyField="id" defVal="1" stored="false" indexed="false" class="solr.ExternalFileField" valType="pfloat"/>
<dynamicField name="eff_*" type="file"/>

外部文件的格式为:

id1=3.1
id2=4.2
id3=5

这可以按预期工作,结果会根据文件中的值进行提升。问题是当值更改时,结果不会反映更改。我知道我需要以某种方式提交更改,但我无法弄清楚如何。

我尝试过这样的事情:

curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<commit />'

但没有用。

解决

我的solrconfig.xml中的以下行解决了这个问题:

<requestHandler name="/reloadCache" class="org.apache.solr.search.function.FileFloatSource$ReloadCacheRequestHandler" />

然后我在每次更新文件后点击此URL(http:// localhost:port / reloadCache)

1 个答案:

答案 0 :(得分:1)

看起来这是因为solr中的一个错误影响了缓存结果。可能正在尝试reloadCache有帮助吗?