在 Solr 中查询二进制字段

Querying binary fields in Solr

我正在使用 Solr 来索引由二进制字段组成的记录。我在 schema.xml 中指定了字段:

<field name="id" type="binary" indexed="true" stored="true" required="true" multiValued="false" />

我可以通过 POST 请求将记录添加到索引,将字段编码并发送为 Base64 字符串。集合的数据目录的大小正在增长,所以我知道它正在存储一些东西;但是,在进行匹配所有查询 (q=*:*) 时,我奇怪地找到了一些文档,但返回了 none,例如:

"response": {  
  "numFound": 364047,
  "start": 0,
  "maxScore": 1,
  "docs": []
}

有没有人知道是什么原因造成的或如何解决?
谢谢

简答无法解决

阅读 the reference documentation of Solr 时,您发现有关 BinaryField 类型的信息很少

Class: BinaryField

Description: Binary data.

目前的状态是此BinaryField 仅用于存储二进制数据。仅此而已。倒是有an issue to change this,不过还没有引起那么大的关注

我个人的假设是,这背后存在一个事实,即二进制数据并不是简单明了的二进制数据。大多数情况下,它是一种需要特殊解释的精心设计的文件格式。对于此任务,存在一个单独的 Apache 项目,Apache Tika

为了驯服这只野兽,网络上散布了几篇不错的文章和教程。在参考文档 (1, 2) 中也可以找到如何将其与 Solr 集成的一个很好的起点。