【问题标题】:Invalid UUID String solr无效的 UUID 字符串
【发布时间】:2017-12-01 02:37:21
【问题描述】:

我正在使用 solr 索引大量文档。我的要求之一是每个文档都需要有一个唯一的 id,我尝试使用 Unique Key 方式来实现它。但是,当我尝试像往常一样使用“post”命令来索引文档时,我得到了很多

<response>
<lst name="responseHeader"><int name="status">400</int><int name="QTime">15</int></lst><lst name="error"><lst name="metadata"><str name="error-class">org.apache.solr.common.SolrException</str><str name="root-error-class">org.apache.solr.common.SolrException</str></lst><str name="msg">Invalid UUID String: '/Volumes/filePlace/file1.html'</str><int name="code">400</int></lst>
</response>

在输出中,并且没有文档被索引。我该如何解决这个问题?

我使用的 post 命令是常规语法:

post -c NewCore .

在哪里。是包含所有文件的当前文件夹。

【问题讨论】:

  • 显示你是如何使用 post 命令的
  • @Persimmonium 添加了它,但我认为它不会改变任何东西。
  • 我相信您需要将您的 id 列从 UUID 更改为字符串类型。是否可以提供托管模式文件的内容?
  • 您能否将schema.xml 文件包含在内?

标签: json indexing solr uuid


【解决方案1】:

我发现我的错误是我正在使用 solr 中包含的 post 工具索引丰富的文档。但是,当使用post 索引丰富的文档(例如html)时,HTTP POST 请求需要将literal.id 指定为某些内容,否则它不会运行。 post 工具自动将literal.id 设置为文件位置,并且由于字段id 设置为UUID 类型,这会导致错误。我现在已将 managedschema 文件中的 id 切换为字符串类型,并决定使用单独的 post 命令,例如

post -c NewCore -params literal.id=55 /Volumes/mainVolume/thingy.html

并在索引之前为每个富文档分配一个 id。

【讨论】:

    猜你喜欢
    • 2021-04-18
    • 2019-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2021-07-22
    • 2014-03-09
    相关资源
    最近更新 更多