Command line 将后端响应传递给solr

Command line 将后端响应传递给solr,command-line,solr,hook,varnish,Command Line,Solr,Hook,Varnish,有人知道有没有把清漆和Solr结合起来的选择吗 我想做的是: 用户请求一个URL Varnish没有缓存版本或只是过时的版本 Varnish调用后端并最终接收响应 这就是我想要连接并将后端响应传递到“/bin/solr post…”的地方,因此每当我交付新的内容版本时,我的solr索引都会立即更新 这可能吗 提前谢谢 Boris这是一个双重问题——第一,在Solr前面粘贴清漆的效果与您预期的一样。它消除了Solr的负载,并允许Varnish返回内容,而无需查询Solr 但是,您应该将索引过程与清

有人知道有没有把清漆和Solr结合起来的选择吗

我想做的是:

  • 用户请求一个URL
  • Varnish没有缓存版本或只是过时的版本
  • Varnish调用后端并最终接收响应
  • 这就是我想要连接并将后端响应传递到“/bin/solr post…”的地方,因此每当我交付新的内容版本时,我的solr索引都会立即更新

    这可能吗

    提前谢谢


    Boris

    这是一个双重问题——第一,在Solr前面粘贴清漆的效果与您预期的一样。它消除了Solr的负载,并允许Varnish返回内容,而无需查询Solr

    但是,您应该将索引过程与清漆管道分开,否则,如果多个线程开始要求在短时间内启动索引过程,您可能会遇到非常糟糕的情况。这样做的正确方法是在Varnish中有一个合理的响应时间,使用expire(通过Varnish中的禁令或类似内容,或通过在Solr请求中附加索引版本标识符),但在Varnish交付文档之外启动并执行索引

    索引完成后,您会向Varnish发出一个禁令,告诉Varnish任何现有的缓存响应都是无效的-这会使Varnish再次开始查询您的后端。通过这种方式,Varnish可以做它擅长的事情,缓存内容,并且您可以保留决定何时更新索引以及何时需要在Varnish之外进行更新的逻辑


    虽然SoR做了有效的缓存,但ValNeNE做得更好(因为它只能考虑响应,而不必再看后面的任何东西),因此可以减轻来自重复查询的负担。p> Solr是我见过的速度最快的产品之一,你想在它前面放一个web缓存。你为什么要这样做?两个原因:1。保持muy缓存为最新版本2。保持muy solr的最新状态。Booth无需多次查询。只需更新Solr中的数据。你甚至可以更新数百万个文档而不会丢失性能。我不想缓存solr。我想要的是,每当varnish需要从后端获取时,填充我的solr索引。这样,solr索引将与发布的内容保持同步,我不需要进行两次查询。我无法控制爬虫会先加载什么。