2016-02-18 3 views
2

У меня есть полеKibana: Невозможно запросить с регулярным выражением, имеющие местом

author 
Jason Pete 
Jason Paul 
Mike Yard 
Jason Voorhies 

в kibana 4.4 я запрашивая в

author:/Jason.*/ 

так я получаю все записи для

Jason Pete 
Jason Paul 
Jason Voorhies 

отлично, сейчас я хочу сделать

author:/Jason P.*/ 

я ожидал

Jason Pete 
Jason Paul 

, но я получаю

No Records found :(

, что случилось с моим регулярным выражением? Есть ли другой способ указать пробел после Джейсона? Я даже попытался

author:/Jason\sP.*/ 

, но до сих пор нет результатов

+1

Возможно, связанный: http://stackoverflow.com/questions/30379094/elasticsearch-regexp-with-space-not-working/30380411#30380411 –

+0

спасибо, но проблема в том, что я хочу часть второго слова, поэтому группировка двух не имеет смысла – AbtPst

ответ

2

Это потому, что ваш author поле, вероятно, анализируется, и, таким образом, значение Jason Pete получает лексемы на две лексемы jason и pete. Следовательно, невозможно запросить оба значения.

Если вы хотите изменить это поведение, я предлагаю вам создать многопрофильный из author поля, с not_analyzed подполом, как это:

curl -XPUT localhost:9200/my_index/_mapping/my_type -d '{ 
    "my_type": { 
     "properties": { 
     "author": { 
      "type": "string", 
      "fields": {     <--- add this section to author your field 
      "raw": { 
       "type": "string", 
       "index": "not_analyzed" 
      } 
      } 
     } 
     } 
    } 
}' 

После того, как ваше отображение обновляются (сделать обязательно замените my_index и my_type с любой индекс и название типа отображения у вас есть), вам необходимо повторно индексировать данные, а затем вы сможете запросить author.raw поле в Kibana так:

author.raw:/Jason P.*/ 
+0

благодаря @Val, но мое поле не анализируется в сопоставлении. – AbtPst

+0

Можете ли вы показать свое сопоставление с 'curl -XGET localhost: 9200/my_index/_mapping/my_type' – Val

+0

, хотя OP не анализируется, и поэтому этот ответ менее уместен для этого, ИМХО это решение __the__, которое потребуется большинству поисковиков при входе в эту нить SO, поэтому upvote – GullerYA

1

Это действительно работает для меня:

author:/Jason\ P.*/ 

Так обратный слэш-пространстве \s работ для пространства в моем случае, ES1.7 и Kibana4.1.2.

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

  • Нет связанных вопросов^_^