我在Solr中有一个带$符号字段名称的索引。重新索引不是一种选择。 Solr中有函数查询,其中$是变量标识符(See here)。当我调用查询来检索特定字段(fl = $ created_dt,name)时,solr将返回错误
解析fieldname时出错:解析函数时缺少param created_dt&$ 39; $ created_dt,$ name'
我理解这是因为Solr将其解释为变量。有没有办法解决它?
答案 0 :(得分:0)
一般情况下,正如您所发现的那样,避免Solr中字段名称中的大多数符号是一个好主意。特别是$用于在解析时允许替换查询字符串中的单独参数(例如foo=$qq&qq=bar
)。
然而,您可以使用fl
- 参数进行小规模修改:如果第一个字段没有符号,则应解析为OK。如果您使用fl=name,$created_dt
,它将起作用(尽管您可能也想要从您包含的错误消息中获取$ name。如果是这样的话,请使用另一个没有$的字段名称)。 &fl=name,$foo_i
至少在4.9.0下工作。
您可能希望将来计划迁移到更加规范化的字段名称。