渗滤器在弹性搜索中的含义/作用是什么?

2022-08-31 12:23:18

即使我阅读了Elasticsearch的文档来了解什么是渗滤器。我仍然很难理解它的含义以及用简单的术语使用它的位置。任何人都可以向我提供更多详细信息吗?


答案 1

您通常要做的是索引文档并通过查询将其取回。简而言之,渗透器允许您做的是索引查询,并根据索引查询渗透文档,以了解它们匹配哪些查询。它也被称为反向搜索,因为你所做的与你习惯的相反。

渗透器有不同的用例,第一个是存储用户兴趣的任何平台,以便在内容进入后立即将正确的内容发送给正确的用户。

例如,用户订阅了特定主题,一旦该主题的新文章出现,就会向感兴趣的用户发送通知。您可以使用查询 DSL 将用户的兴趣表示为 elasticsearch 查询,并且可以在 elasticsearch 中注册它,因为它是一个文档。每次发布新文章时,您无需将其编入索引,即可对其进行渗透以了解哪些用户对它感兴趣。此时,您知道谁需要接收包含文章链接的通知(尽管发送通知不是由 elasticsearch 完成的)。另一个步骤是索引内容本身,但这不是必需的。

看看这个演示,看看从 elasticsearch 1.0 开始,其他几个用例和其他功能与渗滤器结合使用。


答案 2

简单来说,这样做是这样的:percolator

用户:嘿,渗滤器!你们能帮我什么?

渗滤器:海网用户!我可以帮助您获得您兴趣的警报。

用户:真棒!接下来我该怎么办?

渗滤器:请以 Elasticsearch 中索引的查询形式让我知道您的兴趣。

用户:我已经将所有兴趣准备为查询,并将它们索引到Elasticsearch中。就这么简单吗?

渗滤器:是的!就是这么简单!我会查看所有传入的文档,如果它们与您的任何兴趣(查询)匹配,我会回复您!

用户:那真是太棒了!我只是好奇,想知道你怎么能弄清楚哪些文件符合我的兴趣。

渗滤器:这是一个很好的问题!答案很简单!你已经把你的兴趣作为查询索引到Elasticsearch中了,对吗?我使用它们并运行所有(不完全是全部,但为了简单起见,让我们假设所有)对传入文档的查询(这些文档不需要索引,可以发送以进行渗透!事实上,这个过程被称为渗滤!如果任何文档与您的任何查询匹配,那么我会将该结果发送给客户(也可能是您)!


推荐