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

时间:2016-01-23 17:10:14

标签: solr solrj

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

我找到了一个参考:

http://blog.sematext.com/2014/04/29/parametrizing-queries-in-solr-and-elasticsearch/

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

1 个答案:

答案 0 :(得分:1)

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

http://opensourceconnections.com/blog/2015/07/02/log-every-solr-doc/ https://wiki.apache.org/solr/ScriptUpdateProcessor

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

  1. 编写一个Web应用程序,查询Solr,甚至更多次,然后返回自定义响应。在这种情况下,您可以使用多种语言,甚至是Javascript(nodejs),PHP,Phyton等脚本语言。
  2. 编写一个Solr插件。但是,考虑到写一个Solr插件是非常困难的,你只能用Java来做,试试Alba,这是一个小的Java框架,可以简化Solr插件的开发。