为Solr中具有不同头的多个CSV文件编制索引

为Solr中具有不同头的多个CSV文件编制索引,csv,indexing,solr,schemaless,Csv,Indexing,Solr,Schemaless,我正在尝试在Solr索引中索引多个具有不同“模式”的CSV文件。在这些CSV中可能有一些常见的模式元素(标题列)。我的要求是能够提供搜索这些CSV和其他项目 据我所知,索引的一种方法是将整个CSV视为一个巨大的文本字符串,并对其进行索引。如果我以这种方式编制索引,我不确定哪些可搜索性方面会受到影响 另一种方法基本上是定义一个公共模式,然后通过编程逐行从文档和索引中提取列,并警告如果文件没有任何公共模式,我可能无法为其编制索引。(顺便说一句,这最后一部分对我来说可能不是第一部分,但现在让我们放纵

我正在尝试在Solr索引中索引多个具有不同“模式”的CSV文件。在这些CSV中可能有一些常见的模式元素(标题列)。我的要求是能够提供搜索这些CSV和其他项目

  • 据我所知,索引的一种方法是将整个CSV视为一个巨大的文本字符串,并对其进行索引。如果我以这种方式编制索引,我不确定哪些可搜索性方面会受到影响
  • 另一种方法基本上是定义一个公共模式,然后通过编程逐行从文档和索引中提取列,并警告如果文件没有任何公共模式,我可能无法为其编制索引。(顺便说一句,这最后一部分对我来说可能不是第一部分,但现在让我们放纵一下可能性)
还有别的办法吗?彼此之间有什么优势吗

顺便说一句,我尝试了无模式模式,但它不适合我。我可以为第一个文件编制索引,但当我创建下一个文件时,它有一些不同的列,这将返回一个错误。这是预期的行为还是我做错了什么

谢谢你的指点,谢谢


更新:无模式模式的错误是“日期格式无效”。在做了一些研究之后,这似乎是一个与我所想的不同的问题,因为Solr自动检测数据是日期,它希望数据是UTC格式,而不是UTC格式。有什么方法可以关闭日期自动检测吗?

ref.schemales模式-错误是什么?这可能是因为相同的列名在文档之间具有不同的类型。在这种情况下,您必须首先显式设置列,然后如果仍然希望创建未知列,请继续使用无模式模式-但使用预定义列。无模式模式的错误是“无效日期格式”。在做了一些研究之后,这似乎是一个与我所想的不同的问题,因为Solr自动检测数据是日期,它希望数据是UTC格式,而不是UTC格式。是否有任何方法可以关闭日期自动检测?您应该能够更改使用的默认版本-即删除日期检测器,请参见示例。