1

我正在使用 solr 来获取数据。我正在使用以下参数来获取数据:

http://testURL/solr/core0/select?start=10&rows=10&hl.fl=CC&hl.requireFieldMatch=true&hl=on&hl.maxAnalyzedChars=1&hl.fragsize=145&hl.snippets=99&sort=COlumn1+desc&q=CC%3a%28%22test%22~2%29&fl=title120%2ccolumn2%2ccolumn3%2cRL_DateTime%2cSid%2ccolumn4%2cguid%2chour&hl.regex.pattern=^\d+%20%3E%3E%20

上面的查询不适用于 hl.regex.pattern 参数。

如果我删除“hl.regex.pattern”而不是在突出显示部分提供结果。如果我提供该正则表达式模式,则不会。

正则表达式在我的 c# 代码中工作。

所以我在这里错过了什么吗?

4

1 回答 1

1

几乎可以肯定的是^\。这些在 URI 中无效,因此您必须转义它们。

来自RFC 1738

只有字母数字、特殊字符“$-_.+!*'()”和用于其保留目的的保留字符可以在 URL 中未编码使用。

这有点过时了,因为现在允许使用像 λάμδα 这样的非罗马字母数字,但要点是相同的。

试试hl.regex.pattern=%5E%5Cd+%20%3E%3E%20吧。

于 2012-10-08T14:28:13.057 回答