有可能在Solr中编写类似的存储过程吗?

有可能在Solr中编写类似的存储过程吗?,solr,solrj,Solr,Solrj,与其执行包含许多参数的复杂查询,不如将参数发送给Solr,然后Solr的处理程序(类似于数据库的存储过程)可以处理所有逻辑操作并返回json输出 我发现了一个参考: 但它并没有谈到以编程方式操作接收到的输入参数,然后返回json。在更新过程中,Solr支持多种脚本语言(Javascript、JRuby、Groovy、Jython)。 要清楚,您只能在文档更新期间使用这些脚本,而不能在查询时使用 如果您想定制搜索请求/响应,我知道两种方法: 编写一个web应用程序,查询Solr的次数甚至更多

与其执行包含许多参数的复杂查询,不如将参数发送给Solr,然后Solr的处理程序(类似于数据库的存储过程)可以处理所有逻辑操作并返回json输出

我发现了一个参考:


但它并没有谈到以编程方式操作接收到的输入参数,然后返回json。

在更新过程中,Solr支持多种脚本语言(Javascript、JRuby、Groovy、Jython)。 要清楚,您只能在文档更新期间使用这些脚本,而不能在查询时使用

如果您想定制搜索请求/响应,我知道两种方法:

  • 编写一个web应用程序,查询Solr的次数甚至更多,然后返回定制的响应。在这种情况下,您可以使用多种语言,甚至可以使用Javascript(nodejs)、PHP、Phyton等脚本语言
  • 编写一个Solr插件。但是,考虑到编写Solr插件相当困难,而且只能在Java中完成,请尝试一下,这是一个小型Java框架,可以简化Solr插件的开发

  • 编写一个插件让我们考虑一个小用例:两个字段-A.类别B. DATE时间,4个查询是基于特定的类别A、小时、逐月、逐年进行的。所以后端点击solr四次以获得结果。有没有办法将所有这些问题合并到一个问题中?(正如建议的那样——编写一个插件)——否则后端会向Solr发出四个查询,将四个响应组合成一个,然后返回fronted。你还有什么建议吗?(非常感谢你的回答)