我有一个使用Luciene,Solr和Rails应用程序的Ubuntu设置。我使用Solr索引和搜索Rails应用程序中的数据。除了有时候,这种方法很好。
我得到了这个例子:
Net::HTTPFatalError (500 "org/apache/lucene/index/memory/MemoryIndex java.lang.NoClassDefFoundError:
org/apache/lucene/index/memory/MemoryIndex
org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getReaderForField(WeightedSpanTermExtractor.java:361)
org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extractWeightedSpanTerms(WeightedSpanTermExtractor.java:282)
org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extract(WeightedSpanTermExtractor.java:149)
org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getWeightedSpanTerms(WeightedSpanTermExtractor.java:414)
org.apache.lucene.search.highlight.QueryScorer.initExtractor(QueryScorer.java:216)
org.apache.lucene.search.highlight.QueryScorer.init(QueryScorer.java:184)
org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:226)
org.apache.solr.highlight.DefaultSolrHighlighter.doHighlighting(DefaultSolrHighlighter.java:335)
org.apache.solr.handler.component.HighlightComponent.process(HighlightComponent.java:89)
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) org.mor"):
/usr/local/ruby/1.9.2-rc2/lib/ruby/1.9.1/net/http.rb:2295:in `error!'
我搜索了这个,发现我需要lucene-memory.jar,但这是在我的服务器上设置的:
$ locate lucene-memory
/usr/share/java/lucene-memory-2.9.2.jar
/usr/share/java/lucene-memory.jar
我不知道为什么?!?
答案 0 :(得分:3)
尝试把那个罐子放到:
的solr \ VERSION \ lib中\
其中VERSION可能是1.4.1或者你拥有的任何东西。原因是从solr中以明确的方式加载该jar。