Я пытаюсь реализовать эластичный поиск в моем приложении go. Я использую библиотеку https://github.com/olivere/elastic для go, иasticsearch запущен в Docker-контейнере.
Я успешно подключился кasticsearch и создал индекс, после чего я попытался сохранить данные вasticsearch, который также был успешным. У меня начались проблемы, когда я выполнял запросы
Мое отображение выглядит следующим образом
"mappings":{
"item":{
"properties":{
"id":{
"type":"integer"
},
"title":{
"type":"text"
},
"description":{
"type":"text"
},
"userid":{
"type":"integer"
}
}
}
}
Я пытаюсь запросить es по названию, как это, и я получаю пустой ответ. Если я удаляю запрос из поиска (), перечисляются все сохраненные элементы. Я попытался также объединить с newBoolQuery и newMatchPhrase, он также возвращал пустой ответ.
query := elastic.NewTermQuery("title", "Hello there")
searchResult, err := elasticClient.Search().
Index("items").
Query(query).
Pretty(true).
Do(ctx)
if err != nil {
return nil, err
}
return searchResult, nil
Ответ:
{
"id": 81,
"message": "Search successfull",
"data": {
"took": 1,
"_scroll_id": "",
"hits": {
"total": 0,
"max_score": null,
"hits": []
},
"suggest": null,
"aggregations": null,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
}
}
}