【问题标题】:How can I read and write the external file field in solr?如何在 solr 中读写外部文件字段?
【发布时间】:2012-12-05 11:28:11
【问题描述】:

我在 solr 中使用外部文件字段来存储我经常更新的数据类型。我在我的索引目录中创建了一个文件_external_<myfieldTypename>。我的数据是这样的:

4950 = 150.0
4951 = 65.0
4952 = 789.0
4953 = 786.0
4954 = 5.0
4955 = 21.0

现在我创建了新字段:

<fieldType name="<myfieldTypename>" class="solr.ExternalFileField" keyField="Name" defVal="1" indexed="false" stored="false" valType="float"/>

<field name="MyFieldName" type="<myfieldTypename>" indexed="true" stored="true"/>

我的问题是如何从我的 external 文件中读取数据?

提前致谢。

【问题讨论】:

    标签: solr solrnet


    【解决方案1】:

    Documentation:-

    Solr 在 index 目录中查找名称下的外部文件 external_<fieldname>external_<fieldname>.*

    因此,在您的情况下,外部字段文件名应该是带有数据的 MyFieldName.txt 或 external_MyFieldName.txt。

    外部字段不可搜索。它们只能用于功能 查询或显示。

    【讨论】:

    • 已经创建好了。但是有什么方法或查询可以从 Solr 管理员执行,我们可以看到该字段是否包含数据?
    • 您应该能够在响应中取回数据,因此无论该值是否存在,您都可以。
    • 我已经浏览了该文档并完成了所有步骤,但我不知道如何验证?
    • 当您向 Solr 查询记录 q=id:something 或 q=*:* 时,您应该能够在响应中接收回数据。
    • 这很奇怪。您是否可以重新检查您的文件是否具有答案中指定的命名约定和大小写及其在集合的索引目录中。您可以检查日志以确认其正在加载。
    【解决方案2】:

    how can I read data from my external file?

    向 solr-user 组提出了同样的问题。 (请参阅here。) Yonik Seely 在该线程中的回答在 Solr 4.2.1 中对我来说效果很好。使用的语法是:

    fl=*,field(external_file_field)

    你也可以给它起别名,就像 Yonik 说的:

    fl=*,views:field(external_file_field)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 2018-05-14
      • 2015-11-27
      • 1970-01-01
      • 2022-11-10
      • 2020-10-17
      相关资源
      最近更新 更多