2015-05-19 2 views
0

Как использовать подобный запрос в запросе elasticsearch?Как запрос в ElasticSearch

Это то, что я пытался до сих пор.

array:3 [ 
"index" => "users" 
"type" => "user" 
"body" => array:1 [ 
"query" => array:1 [ 
    "bool" => array:1 [ 
    "should" => array:1 [ 
     0 => array:3 [ 
     0 => array:1 [ 
      "match" => array:1 [ 
      "fullname" => "Mag*" 
      ] 
     ] 
     1 => array:1 [ 
      "match" => array:1 [ 
      "industry_name" => "other" 
      ] 
     ] 
     2 => array:1 [ 
      "match" => array:1 [ 
      "active" => "yes" 
      ] 
     ] 
     ] 
    ] 
    ] 
    ] 
    ] 
    ] 

Мой Поиск JSON-то вроде этого,

{"1": "Mag","industry_name":"other", "active": "yes"} 

В моих индексах, есть запись полного названия «Мэгги Уилфред». Когда я запускаю этот запрос, ничего не возвращается.

любая причина? .i чувствую, что проблема в дикой карте? "fullname" => "Mag*"

+0

На самом деле это будет зависеть. Если запрос, где инструкция является чем-то вроде этого 'fullname =" Mag * "', вы получите 0 результат, но если это заявление запроса использует LIKE, вы должны получать результаты coz он получит все полное имя, которое начнет «Mag» –

+0

@sgtBOSE: я перечислил заявления запроса выше –

+0

@ DrixsonOseña: можете ли вы объяснить это bit.bit confused –

ответ

0

запрос матч не поддерживает подстановочные знаки, как указано на https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html

Вы должны попробовать с Wildcardquery.

+0

в соответствии с этой ссылкой говорит, что мы можем http://stackoverflow.com/questions/27670573/elasticsearch-how-to-do-a-or-query-with-wildcard –

+0

Я дона В этой ссылке нет ничего, что указывало бы, что оно работает. Фактически пользователь использовал три разных типа запросов, первый из которых был 100% -ным совпадением, второй - подстановочным знаком с ведущим и конечным *, а последний для нечеткого поиска (когда вы что-то неправильно понимаете). –

+0

что вы говорите, что я не могу использовать подстановочные знаки и сопоставлять их в том же запросе. Правильно? –

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