我正在尝试使用 Solr 3.6.1 ExternalFileField
。这是我的字段类型定义:
<fieldtype name="file" keyField="id" defVal="0" stored="true" indexed="true" class="solr.ExternalFileField" valType="float"/>
这是字段定义:
<field name="fviews" type="file"/>
fviews
我能够通过排序来测试它
http://localhost:8983/solr/select?q=tag_id:1&sort={!func}fviews desc
它工作正常。
但是我遇到了两个问题:
我需要这个字段回到我的搜索结果中。即使我已经标记了该字段,因为stored="true"
我没有取回它。我什至尝试添加&fl=*
查询参数,但它不起作用。
如果我对外部文件进行更改,它们不会立即反映在搜索结果中(这正是我想使用外部文件字段的原因)。https://lucene.apache.org/solr/api-4_0_0-BETA/org/apache/solr/schema/ExternalFileField.html上的 solr 4.0 文档显示“如果外部文件已加载,并且已更改,在提交完成之前,这些更改将不可见。” . 我尝试使用提交http://localhost:8983/solr/update?commit=true
,希望 Solr 可以根据修改后的时间戳读取编辑后的文件,但它不起作用。但是,如果我进行完全导入,那么结果是正确的。
更新(答案):下面的@Persimmonium 已经回答了第二个问题。第一个问题(如何检索值)的答案是使用我写的这篇博fl=*,field(EXTERNAL_FILE_FIELD_NAME)
文中提到的。