2014-09-08 5 views
21

Я хотел бы знать, как запросить поле, чтобы точно соответствовать строке.Точное совпадение с запросом Kibana

Я на самом деле пытается запросить так:

url : "http://www.domain_name.com" 

который возвращает все строки, начиная с http://www.domain_name.com.

ответ

39

У меня была аналогичная проблема, и ifound, что «.raw» неподвижную это - в вашем примере, попробуйте

url.raw : "http://www.domain_name.com" 
+2

Большое спасибо, с .raw мы можем получить доступ к нефильтрованной/untokenized строке! – smace

+4

в новой версии ES (5.x, 6.x) вместо этого вы должны использовать url.keyword, так как они изменились на новый тип ключевого слова. – dezhi

-7

По вашему запросу это кажется прекрасным.

Для согласования точной следующий синтаксис:

fieldname : string

и

Для matchign подстроку, используйте джокера (*),

Синтаксис:

fieldname : *string*

Кроме того, независимо от запроса, который вы применяли; заключается в том, что запрос является частью Query Criteria компонента вашего компонента.

Итак, я предлагаю вам проверить, применяется ли какой-либо из wild card в вашем поиске.

+0

Спасибо за ваш ответ Nirdesh, но, к сожалению, есть некоторые нарушения здесь с реальной функциональностью. – robert

6

Точное значение не поддерживается из коробки.

http://blogs.perl.org/users/mark_leighton_fisher/2012/01/stupid-lucene-tricks-exact-match-starts-with-ends-with.html

Из коробки, Lucene не обеспечивает точные полевые матчи, как соответствие "Acer Negundo Ab" и только "Acer Negundo AB" (также не "Acer Negundo Ab IgG"). Также Lucene не предоставляет «Starts With» или «Ends « Функциональность. К счастью, есть обходные пути.

1

Просто дайте большую видимость комментарию @ dezhi.

in newer version of ES(5.x, 6.x), 
you should use `url.keyword` instead, 
as they have changed to a new keyword type. 

Таким образом, было бы:

url.keyword : "http://www.domain_name.com" 
+1

Спасибо :) Lifesaver! – favoretti

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