0

我在 Solr 中有一个带有 $ 登录字段名称的索引。重新索引不是一种选择。Solr 中有功能查询,其中 $ 是变量标识符(请参见此处)。当我调用查询来检索特定字段(fl=$created_dt,name)时,solr 将返回错误

解析字段名时出错:解析函数“$created_dt,$name”时缺少参数 created_dt

我知道这是因为 Solr 将其解释为变量。有什么办法可以解决吗?

4

1 回答 1

0

通常,正如您所发现的,避免 Solr 中字段名称中的大多数符号是一个好主意。特别是 $ 用于在解析时允许在查询字符串中使用单独的参数进行替换(例如foo=$qq&qq=bar)。

但是,您可以使用 -parameter 的一个小技巧fl:如果第一个字段没有符号,它应该可以解析。如果您使用fl=name,$created_dt,它将起作用(尽管从您包含的错误消息来看,您可能也打算使用 $name 。如果是这种情况,请使用另一个不带 $ 的字段名称)。&fl=name,$foo_i至少在 4.9.0 下工作。

您可能希望将来计划迁移到更规范化的字段名称。

于 2014-08-27T10:10:49.920 回答