如何在Solr 4.4.0中使用MS SQL?

时间:2013-08-14 10:25:09

标签: sql-server solr solr4

我想在MS SQL 2008/2012中使用Solr 4.4.0。我找到了一些教程,但它们要么是older version的Solr,要么是指我的Solr安装中不存在的数据导入处理程序文件。

例如,this一个引用apache-solr-dataimporthandler文件,但我无法在我的安装中找到它们。我应该从哪里拿到它们?或者在Solr 4.4.0中改变了机制?

更新

数据导入处理程序返回以下错误:

  

错误 - 2013-08-15 15:17:43.414; org.apache.solr.core.CoreContainer;   无法创建核心:collection1   org.apache.solr.common.SolrException:RequestHandler init失败   org.apache.solr.core.SolrCore。(SolrCore.java:835)at   org.apache.solr.core.SolrCore。(SolrCore.java:629)at   org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:622)     在org.apache.solr.core.CoreContainer.create(CoreContainer.java:657)     在org.apache.solr.core.CoreContainer $ 1.call(CoreContainer.java:364)     在org.apache.solr.core.CoreContainer $ 1.call(CoreContainer.java:356)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at   java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at   java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)at   java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at   java.lang.Thread.run(未知来源)引起:   org.apache.solr.common.SolrException:RequestHandler init失败   org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:167)     在org.apache.solr.core.SolrCore。(SolrCore.java:772)... 13   更多由以下原因引起:org.apache.solr.common.SolrException:错误   实例化请求处理程序,   org.apache.solr.handler.dataimport.DataImportHandler失败了   实例化org.apache.solr.request.SolrRequestHandler at   org.apache.solr.core.SolrCore.createInstance(SolrCore.java:551)at at   org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:603)     在   org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:153)     ... 14更多引起:java.lang.ClassCastException:class   org.apache.solr.handler.dataimport.DataImportHandler at   java.lang.Class.asSubclass(未知来源)at   org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:433)     在   org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:381)     在org.apache.solr.core.SolrCore.createInstance(SolrCore.java:530)     ... 16更多错误 - 2013-08-15 15:17:43.416;   org.apache.solr.common.SolrException;   null:org.apache.solr.common.SolrException:无法创建核心:   collection1 at   org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:1150)     在org.apache.solr.core.CoreContainer.create(CoreContainer.java:666)     在org.apache.solr.core.CoreContainer $ 1.call(CoreContainer.java:364)     在org.apache.solr.core.CoreContainer $ 1.call(CoreContainer.java:356)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at   java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.Executors $ RunnableAdapter.call(Unknown Source)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at   java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)at   java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at   java.lang.Thread.run(未知来源)引起:   org.apache.solr.common.SolrException:RequestHandler init失败   org.apache.solr.core.SolrCore。(SolrCore.java:835)at   org.apache.solr.core.SolrCore。(SolrCore.java:629)at   org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:622)     在org.apache.solr.core.CoreContainer.create(CoreContainer.java:657)     ... 10更多引起:org.apache.solr.common.SolrException:   RequestHandler init失败   org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:167)     在org.apache.solr.core.SolrCore。(SolrCore.java:772)... 13   更多由以下原因引起:org.apache.solr.common.SolrException:错误   实例化请求处理程序,   org.apache.solr.handler.dataimport.DataImportHandler失败了   实例化org.apache.solr.request.SolrRequestHandler at   org.apache.solr.core.SolrCore.createInstance(SolrCore.java:551)at at   org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:603)     在   org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:153)     ... 14更多引起:java.lang.ClassCastException:class   org.apache.solr.handler.dataimport.DataImportHandler at   java.lang.Class.asSubclass(未知来源)at   org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:433)     在   org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:381)     在org.apache.solr.core.SolrCore.createInstance(SolrCore.java:530)     ......还有16个

AFAIK我只有一个包含jar文件的地方,那就是tomcat lib目录。 我会寻找不使用Java的Solr替代品,因为我已经花了将近一个星期的时间来使用这个东西。

1 个答案:

答案 0 :(得分:2)

数据导入处理程序在Solr 4.4中使用,但它以不同的方式进行管理。您可以使用solrconfig.xml文件进行设置,并使用驱动程序设置创建一个新的xml文件。您可以按照此博客条目进行设置 - 它设置为使用postgresql数据库和jdbc驱动程序,但您可以调整设置以使用MS SQL 2008

http://amac4.blogspot.co.uk/2013/08/configuring-solr-4-data-import-handler.html