2011-01-28 7 views
0

Luciene, Solr 및 Rails 응용 프로그램과 함께 Ubuntu 설정이 있습니다. 나는 Rails 애플리케이션에서 데이터를 인덱싱하고 검색하기 위해 Solr을 사용한다. 때로는 예외입니다.Lucene이 하이라이트로 충돌 함

나는이 execption를 얻을 :

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!' 

나는이 검색 및 발견, 나는 루씬-memory.jar 필요하다고하지만,이 내 서버에 설정되어 있습니다 :

$ locate lucene-memory 
/usr/share/java/lucene-memory-2.9.2.jar 
/usr/share/java/lucene-memory.jar 

I 왜 그런지 몰라?!? \ lib 디렉토리 \

버전 1.4.1있을 경우

SOLR의 \ 버전이든, 당신은 :

답변

3

봅니다에 그 항아리를 넣어. 그 이유는 그 항아리를 solr로부터 명시 적으로로드하기 위해서입니다.

+1

대단원! "cd/usr/share/solr/WEB-INF/lib && ln -s ../../../java/lucene-memory.jar" 그 문제를 해결! 감사! – Fu86

+0

대단하다! 나는 너에게 행복해. – nrph