我实现了一个评分插件,以跳过搜索结果中的一些文档,而实际业务是跳过用户的读取。插件地址https://github.com/yzlq99/ElasticsearchPlugin
问题:性能问题,当搜索太多文档数据时,性能会很差。因为每个文档都将执行插件脚本
优化思想:优化思想是是否控制分页执行脚本。例如,如果我每页取50项,那么只要我满足条件并且没有得到跳过列表中的前50项,我将停止脚本并直接返回数据。(无论是否分页,脚本都将在所有文档上执行,是否有任何方法控制它?)
发布于 2022-01-10 17:36:07
你试过使用FilterScript而不是ScoreScript吗?它应该更适合您的用例。
我还创建了一个插件,它使用RoaringBitmap和Elasticsearch (而不是FilterScript ),并且没有看到大列表的主要性能问题。(回购还包含一个指向基准博客文章的链接)。
存储库:https://github.com/lsena/fastfilter-elasticsearch-plugin
我也将通过进一步的性能更新来更新它。
https://stackoverflow.com/questions/67798622
复制相似问题