在 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 集成的一个很好的起点。
我正在使用 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 集成的一个很好的起点。