有没有一种方法可以访问Apache Solr(8.3.1)搜索查询而不必对日志进行爬网



出于统计目的,我必须保存并分析对运行Solr(8.3.1版(的服务器的所有搜索查询。也许这只是因为我直到今天还没有使用过Solr,但除了对日志进行爬网之外,我找不到更简单的方法来访问这些查询。

我只找到了一篇文章来帮助我,其中如下所述:

我认为solr自己不存储查询(如果我错了,请纠正我(,但你可以通过处理solr日志来完成你想要的(这是我认为的唯一方法(。

(来源:https://lucene.472066.n3.nabble.com/is-it-possible-to-save-the-search-query-td4018925.html)

有更方便的方法吗?

实际上,我在另一个SO问题中找到了实现这一点的好方法。嗯,至少有点。

注意:只有当您在同一台服务器或另一台服务器上有足够的资源来正确处理第二个Solr Core时,它才有用。

链接到原始答案

这个SO问题是关于弹性搜索的,但它的方法也可以应用于这种情况,使用第二个Solr Core对所做的查询进行索引。(还可以添加其他字段,如上次搜索的时间、搜索总数…(使用此解决方案还可以实现搜索自动完成的功能。

简而言之:基本思想是使用第二个Solr实例来提供快速保存查询所需的方法(而不是数据库(。

备注:我不会接受这是最好的答案,因为这是我最初提出的问题的一个相当特殊的解决方案。尽管如此,我还是觉得这对任何试图实现这一点的程序员来说都是有用的,同时也考虑搜索自动完成。

相关内容

最新更新