func buildQuery()

in action/log/logadapter/elasticsearch.go [263:279]


func buildQuery(filter map[string]interface{}, indexFields []string) (*elastic.BoolQuery, error) {
	query := elastic.NewBoolQuery()
	if filter["query"].(string) != "{}" {
		indexMap, err := ParseJobString(filter["query"].(string))
		if err != nil {
			return query, err
		}
		for k, v := range indexMap {
			if Contains(indexFields, k) {
				query.Should(elastic.NewTermQuery(k, v))
			} else {
				return query, fmt.Errorf("invalid index key: %s", k)
			}
		}
	}
	return query, nil
}