Я использую библиотеку Olivere Elasticsearch для Go — https://github.com/olivere/elastic.
Я не могу правильно построить поисковый запрос, он продолжает возвращать 0 результатов.
termQuery := elasticClient.NewTermQuery("hash", "hashedID")
fmt.Println(termQuery)
searchResult, err := qs.client.Search().Index("someIndex").
Type("node").
Query(termQuery).
Pretty(true).
Do(ctx)
if err != nil {
return nil
}
searchResult.Hits.TotalHits
дает 0 совпадений, хотя есть данные. Данные находятся на сервере Elasticsearch, работающем на моем локальном компьютере, который я могу увидеть, если я запускаю вызов REST API:
{
"_index": "someIndex",
"_type": "node",
"_id": "hashedID",
"_score": 1,
"_source": {
"node": "test",
"hash": "hashedID",
"active": true
}
Как я могу исправить свой поисковый запрос?
nil
for для условияerr != nil
— это хорошая идея? Я думаю, что могут быть ошибки, которые вы не видите. Вы можете использоватьpanic(err)
для печати трассировки стека. - person kiran.koduru   schedule 02.08.2017