1

使用 SOLR 和 DataImportHandler,我们为我们的数据库建立了索引。数据库有一个字段,其中包含该行的串联属性数据。我们在 data-config.xml 文件中使用转换器来读取该字段并将其拆分为几个动态字段。

我们使用这些数据作为方面进行搜索。

我们可以将某些字段作为构面进行搜索,并且效果很好,但是,某些字段无法进行构面搜索(例如 fq=attr_fieldname:"facetval")。搜索时,它们返回“HTTP 状态 400 - 未定义字段类型”或“HTTP 状态 400 - 未定义字段长度”

我们在查看模式浏览器时可以看到创建了动态字段,因此不存在字段名称是否正确的问题。

在我们的 schema.xml 中,动态字段被定义为不允许多值的字符串类型。

关于导致这种情况的任何想法,或者我们可以做些什么来防止它?

谢谢!

更新---这是我们正在使用的动态字段定义:

  <dynamicField name="attr_*" type="string" indexed="true" stored="false" multiValued="false"/>

更新 2 --- 是否有人知道由动态字段引起的问题,该字段最终会被命名为“attr_type”或“attr_length”?根据其中一条评论,有人建议我们发送“长度”或“类型”作为字段名称。我们没有这样做,但我们正在发送“attr_length”或“attr_type”

4

0 回答 0