我正在尝试为每个客户拆分日志。我想我了解 Elasticsearch 的 Query DSL。
为了过滤日志,我使用域名作为过滤参数。这次我们会打电话给他们
- bh250.example.com
- bh500.example.com
现在我已经设法过滤日志,以便域 bh250.example.com 的所有者只能看到他的日志文件。
但是当我想对它们进行排序时,它会根据时间戳“破坏”过滤器并显示 bh250 和 bh500 日志。
q =Q("match", domainname=domein)
q1 =Q("match", status="404")
search= Search(using=dev_client, index="access-logs").query(q).filter.("term" , status="200").sort("-@timestamp")[0:100]
现在没有排序功能,它会显示正确的日志,但顺序不同。使用排序功能,我可以在屏幕上获得两条记录。(bh250 和 bh500)
我还研究了映射是否可能是问题,但我不太确定为什么排序功能会破坏我的“过滤器”