2012-10-08 2 views
1

Я использую solr для извлечения данных. я использую ниже параметров для выборки данных:hl.regex.pattern не работает в 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», чем предоставляет результаты в выделенном разделе. Если я предоставляю шаблон регулярного выражения, то он не будет.

Regex работает в моем коде C#.

Так что я ничего не теряю здесь?

ответ

1

Это почти наверняка ^\. Они недействительны в URI, поэтому вам придется избегать их.

От RFC 1738:

только буквенно-цифровые, специальные символы "! $ -_ + * '()," и зарезервированные символы, используемые для их зарезервированных целей могут быть использованы Unencoded в URL ,

Это небольшая датировка, так как теперь допускаются не-римские буквенно-цифровые символы, такие как λάμδα, но суть та же.

Попробуйте hl.regex.pattern=%5E%5Cd+%20%3E%3E%20 вместо этого.

+0

'HTTP: // testURL/Solr/Core0/выберите начать = 10 & строк = 10 & hl.fl = CC & hl.requireFieldMatch = истина & гл = на & hl.maxAnalyzedChars = 1 & hl.fragsize = 145 & hl.snippets = 99 & рода = column1 + убывание & Q = CC% 3a% 28% 22test% 22 ~ 2% 29 & fl = title120% 2ccolumn2% 2ccolumn3% 2cRL_DateTime% 2cSid% 2ccolumn4% 2cguid% 2chour & hl.regex.pattern =% 5E% 5Cd +% 20% 3E% 3E% 20' Я изменил мой URL-адрес. но все же он не работает. –

+0

Как вы преобразовываете это в регулярное выражение? Единственное, о чем я могу думать, это то, что вам может потребоваться удвоить доступ к '\ d'. Попробуйте 'hl.regex.pattern =% 5E% 5C% 5Cd +% 20% 3E% 3E% 20'. Если это не сработает, вероятно, проблема с вашей реализацией или с вашим регулярным выражением. –

+0

На самом деле было какое-то изменение в моем регулярном выражении. , который теперь^(\ d * s: \ s * \ w *), поэтому он преобразуется в % 5E% 28% 5Cd * s:% 5Cs *% 5Cw *% 29 –

Смежные вопросы