【问题标题】:Solr 4.3.0 External File Field: despite I followed the official reference, I cannot get it to workSolr 4.3.0 外部文件字段:尽管我遵循了官方参考,但我无法让它工作
【发布时间】:2014-04-28 22:30:27
【问题描述】:

我有一个 Solr 多核实例,我正在尝试利用外部文件字段功能,但没有成功。

这是 fieldType 定义

<fieldType name="ext_tags" class="solr.ExternalFileField" keyField="doc_id" />

请注意参考指南报告了一个包含更多属性的示例

defVal="" stored="false" indexed="false" valType="string"

但我猜它们来自 Solr 版本 3,因为如果我将它们添加到我的 schema.xml 中,我会在启动实例时遇到错误。

这是字段的定义

<field name="deal_tags" type="ext_tags" indexed="false" stored="true" required="false" />

这是外部数据文件名(在 $SOLR_HOME/data 中)

external_deal_tags.txt

这是实例目录 ($SOLR_HOME)

/opt/solr-4.3.0/deal-ws/cores/it_IT/ 

这是数据文件的摘录(UTF-8 编码,按 MD5 哈希的 doc_id 排序)

003c9256f23da49233fc0b253f7a93cb=8;12
0050188629a8c0e3f89bcd6a7cb77b3a=6;7;13;33;35;38
009c3932933b173072054e3d81527b05=6

这是我调用的网址

http://localhost:8080/solr/it_IT/select?q=*:*&wt=json&fl=deal_tags&rows=3&indent=yes

这是我得到的回复

{
   "responseHeader":{
   "status":0,
   "QTime":116},
   "response":{"numFound":3678,"start":0,"docs":[
     {},
     {},
     {}]
}}

即使我将 rows 参数更改为 4000(我在索引中有 3678 个文档),我也没有得到 ext_tags

修改schema.xml文件后,多次重启Tomcat,也重启了宿主机。

我错过了什么?

* 更新 *

在寻找答案的过程中,我发现问题可能出在我查询 Solr 的方式上。我尝试使用 field()

修改查询
http://localhost:8080/solr/it_IT/select?q=*:*&wt=json&fl=field(deal_tags)&rows=3&indent=yes

这就是我现在得到的

{
  "responseHeader":{
    "status":0,
    "QTime":2},
    "response":{"numFound":3678,"start":0,"docs":[
      { "field(deal_tags)":0.0},
      { "field(deal_tags)":0.0},
      { "field(deal_tags)":8.0}]
}}

我希望得到 strings,而不是得到格式化为十进制数的内容:

- 第一个结果:预期 56;57 -> 0.0
- 第二个结果:预期为空白 -> 0.0(其 doc_id 不在外部文件中)
- 第三个结果:预期 8 -> 8.0

所以,看来我需要通知 Solr 我希望这个值被视为 字符串,但我不知道在哪里设置这个配置。

有什么想法吗?

【问题讨论】:

    标签: solr


    【解决方案1】:

    好的,我发现了问题所在。我查看了日志文件,这就是我得到的

    原因:org.apache.solr.common.SolrException:目前仅支持 float 和 pfloat (Trie|Float)Field 作为外部字段类型。

    所以,我不能使用字符串作为外部值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      相关资源
      最近更新 更多