0

我正在使用 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 编码,转义斜杠,转义冒号,转义空格,使用 + 代替空格,以及我能想到的所有可能的反斜杠组合。在 solr中的另一个 StackOverflow 问题字段列表中发布的解决方案,其中“fl”参数用于中间有空格的字段对我不起作用。

我真的只是在寻找是否有任何文档对这个特定字段有价值的答案,所以如果有比 LukeRequest 更好的方法来做到这一点,我也很乐意。

4

2 回答 2

2

AFAIK,使用反斜杠转义特殊字符适用于值,而不适用于flor之类的参数sort

lucene邮件列表上的这个答案也证实了我的想法。我猜你不应该在字段名中有空格。

于 2013-04-04T15:35:34.963 回答
2

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

于 2013-04-04T15:37:53.090 回答