solr字段限制,带“|”的字段

时间:2014-09-19 00:04:46

标签: solr lucene

我有一个动态字段:mappings_|int-color|显然包含" |"当我将其包含在字段限制中时,会出现这种情况:

<lst name="error">
  <str name="msg">Error parsing fieldname: Expected identifier at pos 0 str='|int-color|'</str>
  <int name="code">400</int>
</lst>

是否存在包含&#34; |&#34;的字段限制(fl)字段的方法?字符?

2 个答案:

答案 0 :(得分:0)

我相信你可以通过用单引号包装你的古怪字段名称,并使用field函数来实现这一点,例如:

field('mappings_|int-color|')

但是,当然,我敢打赌你可以猜到真正的解决方案。

Solr允许您将字段名称设置为您喜欢的任何内容,就像lucene本身一样。它们也是相似的,如果你给这样的字段分配复杂的名字,你就会有点痛苦。例如,高飞就是这样的。所以不要在上面做那件事,清理你的字段名称。如果坚持使用字段名称的Java标识符规则,就不会出错。

答案 1 :(得分:0)

一位同事在this related question指出了我,这不可避免地导致我尝试使用不可接受的字符。

这对我有用: mappings_*int*color*

当然,它会捕获一些额外的字段,但是有效。