无效的UUID字符串solr

时间:2017-06-27 21:45:37

标签: json indexing solr uuid

我使用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 .

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

1 个答案:

答案 0 :(得分:1)

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

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

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