2015-02-27 13 views
14

Solr'u kurdum, şu ana kadar her şey yolunda, ama şimdi EdgeNGram işlevselliğini aramalarıma eklemek istedim.EdgeNGram: Sınıf başlatılırken hata oluştu: 'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: 
Could not load conf for core collection1: Plugin init failure for [schema.xml] 
fieldType "text_en_splitting": Plugin init failure for [schema.xml] analyzer/filter: 
Error instantiating class: 'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'. 
Schema file is /opt/solr/server/solr/collection1/conf/schema.xml 

ilgili şema kısmı aşağıdaki gibidir:: Ancak, en kısa sürede benim schema.xml içine atmak olarak, bu hatayı atma başlar

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/> 

FIELDTYPE geri kalanının konfigürasyonu oldukça kapsamlı bir şekilde test ettiğim gibi. Sadece bu satırı veren satırı ekliyor.

Şimdi, etrafa baktım, ve genellikle, bu hatalar eksik bir .jar olduğu anlamına gelir (en azından burada yayınlanan diğer iki soruya göre, NGram ile ilgili değil). Bu yüzden devam ettim ve lucene-analiz-common.jar kadar kazılırken ve açıkça şöyle, benim solrconfig.xml bunu ekledi:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="lucene-analyzers-common-\d.*\.jar" /> 

şansımız yok. Yolun iyi olduğunu biliyorum, mysql_connector'ı bu şekilde dahil ettim. Her neyse, ben bu hatanın oldukça yorgun büyüdü, o yüzden devam ettim ve ben kazıp olabilir her .jar dahil:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-.*\.jar" /> 

Nope.jpg Tabii

, bütün bunlar birçok eşlik etti bin/solr stop -all ve başla, hepsi hala Solr Admin'deki bu güzel kırmızı pankartı bana veriyor. Ben Solr üzerinde değilim 5.0.0

Yardım?

+1

Sizinle aynı sorunu yaşıyorum, özniteliğin çalışmadığını öğrendim. Küçük ipucu: Solr'u her seferinde yeniden başlatmanız gerekmez, çekirdek çekirdekte uygun çekirdeği yeniden yüklemek yeterlidir. – Campfire

cevap

21

Eh, bu garip, ama başıma gelen tipik bir şey. Bu soruyu gönderdikten 5 dakika geçmeden hata yaptım [not "hata giderim" dedim, "ben çözdüm" demedim, çünkü henüz tamamen test etmedim].

Her neyse, filtre etiketimde side="front" etiketi görüyor musunuz? Evet, görünüşte kötü bir fikir. Yine de garip, çünkü apache dokümanlarında bunu buldum: https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory, onu hiç yapmadım.

Bunu açıklayan var mı?

+7

Solr 4.4'te kullanımdan kaldırıldı olarak işaretlendi ve 5.0 ile kaldırıldı. Bu yüzden belgelerindeki bir hata. Bunun yerine bakın: https://cwiki.apache.org/confluence/display/solr/Filter+Descriptions#FilterDescriptions-EdgeN-GramFilter – Campfire

+1

Lanet olsun, bu oldukça sinir bozucu. Aptal belgeler. Sorunu bulmak için tebrikler olsa :) –

İlgili konular