2015-03-25 4 views
2

Я использую клиент elastic4s для моего поиска упругой лестницы и пытаюсь искать по нескольким полям что-то вроде:elastic4s - поиск в нескольких полях

"query": { "match": { "_all": { "query": "SomeTermToMatch", "operator": "and" } } }

Я пробовал:

query { '_all', query(searchString)).operator(MatchQueryBuilder.Operator.AND) }

Но он не вернул желаемый результат, как это делает родной es.

Кто-нибудь знает, как я могу это достичь?

ответ

1

Вы можете сформировать этот запрос, как:

search in "index"/"type" query { 
    matchQuery("_all", "search string").operator(MatchQueryBuilder.Operator.AND) 
} 

Вы можете увидеть unit test в elastic4s источника, который показывает эту работу.

+0

Большое спасибо! и для великого клиента. (Хотя, было бы очень полезно, если бы было больше документации) –

+0

BTW, есть ли способ получить ответ (массив хитов) как json, или я должен разобрать? –

+0

То, что я сейчас делаю, очень криво: 'net.liftweb.json.Serialization.write (res.getHits.getHits.map (f => JSON.parseFull (f.sourceAsString)' –

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