使用空格,斜杠和冒号转义LukeRequest

时间:2013-04-04 15:23:15

标签: solr solr4 luke

我正在使用Solr 4.1。使用LukeRequest,我想获得包含特定字段数据的文档数量。该字段的名称类似于http://foo.org/bar/ baz(请注意bar/baz之间的空格)。当我访问http://127.0.0.1:8983/root/admin/luke时,我会得到所有字段的列表,包括前面提到的字段。当我访问时

http://127.0.0.1:8983/root/admin/luke?fl=http://foo.org/bar/ baz

我没有点击。我已经尝试过对字符串进行url编码,转义斜杠,转义冒号,转义空间,使用+代替空格,以及我能想到的每种可能的反斜杠组合。在另一个StackOverflow问题field listing in solr with "fl" parameter for a field having space in between上发布的解决方案对我不起作用。

我真的只是在寻找一个肯定 - 没有答案,是否有任何文件对这个特定领域有价值,所以如果有更好的方法来做这个比LukeRequest,我也听到了。

2 个答案:

答案 0 :(得分:2)

AFAIK,使用反斜杠转义特殊字符适用于值,而不适用于flsort等参数。

answer on lucene mailing list也证实了我的想法。我想你不应该在字段名中有空格。

答案 1 :(得分:2)

我相信您可以使用TermsComponent完成同样的事情,因为它可以告诉您是否有与索引中的字段相关联的任何术语。但是,您需要在查询中指定字段名称,因此您将遇到类似的问题。当 Srikanth 回答时,最好不要在字段名称中使用空格或特殊字符。