elasticsearch 计算对特定文档的请求数

b5lpy0ml  于 2022-12-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(113)

我使用elasticsearch索引作为某种搜索API的缓存表。

{
        "mappings": {
            "dynamic": False,
            "properties": {
                "query_str": {"type": "text"},
                "search_results": {
                    "type": "object", 
                    "enabled": false
                },
                "query_embedding": {
                    "type": "dense_vector",
                    "dims": 768,
                },
               
        }
    }

通过嵌入向量相似度进行该高速缓存搜索,如果新查询的嵌入向量与缓存查询的嵌入向量足够接近,则认为缓存命中,并向用户返回search_results字段。
我想清除缓存的搜索结果,因为它们在用户中不受欢迎(即缓存命中率低)。因此,我需要计算在特定时间段(例如上个月)内每个文档的缓存命中(即请求命中)数。
我知道,我可以显式地添加一个hit_rate字段,并在每次新查询命中某个缓存查询时更新它,但是有没有更优雅的方法来做到这一点(也许通过一些内置的ElasticSearch统计)?

drkbr07n

drkbr07n1#

这是不可能的。实际上,App Search产品有一个分析功能,可以记录文档的点击量,并使用不同的索引来记录(也可以存储搜索查询)。

相关问题