in action/log/logadapter/elasticsearch.go [18:50]
func (e *Elasticsearch) QueryLogs(filter map[string]interface{}, currency *Currency, number int) error {
client, err := createElasticClient(currency)
if err != nil {
return fmt.Errorf("failed to create elasticsearch client: %w", err)
}
indexName := currency.Source
indexFields, err := getEsIndexList(currency)
if err != nil {
return err
}
query, err := buildQuery(filter, indexFields)
if err != nil {
return err
}
// Execute the search query
searchResult, err := client.Search().
Index(indexName).
Size(number).
Query(query).
Do(context.Background())
if err != nil {
return fmt.Errorf("error fetching documents: %w", err)
}
err = processSearchHits(searchResult, currency)
if err != nil {
return err
}
return nil
}