func()

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
}