2012-07-26 9 views
5

Ho appena installato Solr, e ora sto sperimentando per imparare come usarlo. Mi piacerebbe utilizzare le funzioni Solr Cell e langid, quindi ho seguito le esercitazioni collegate. Solr Cell funziona, ma non posso diventare langid di fare qualsiasi cosa.Impossibile eseguire langid in Solr 4.0

In solrconfig.xml, ho questo:

<updateRequestProcessorChain name="langid"> 
    <processor class="org.apache.solr.update.processor.LangDetectLanguageIdentifierUpdateProcessorFactory"> 
    <str name="langid.fl">text,title,subject,description</str> 
    <str name="langid.langField">language_s</str> 
    <str name="langid.fallback">en</str> 
    <bool name="langid.map">true</bool> 
    </processor> 
    <processor class="solr.LogUpdateProcessorFactory" /> 
    <processor class="solr.RunUpdateProcessorFactory" /> 
</updateRequestProcessorChain> 

(ho anche provato con Tika), e io mando un documento utilizzando

curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true" -F "[email protected]" 

Ma quando interrogo, text:[* TO *] mi restituisce mio documento , ma text_en:[* TO *] no; language_s, anche se lo dichiaro come conservato, è ostinatamente assente; *:word non trova nulla anche se c'è "words" quindi non viene bloccato; e non riesco a trovare nulla nel registro. La mia ipotesi migliore è che il langid non funzioni, e non ho idea del perché.

EDIT: Trovato la risposta: read more docs: p

Poiché langid è configurato come una catena di richiesta di aggiornamento del processore, deve essere selezionato (non è automatico). Quindi, questo funziona:

curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true&update.chain=langid" -F "[email protected]" 
+0

Grazie per aver postato che, ha avuto lo stesso problema. P.S nel mio caso (ultimo SOLR), l'url di aggiornamento era -Durl = "http: // localhost: 8080/solr/update? Update.chain = langid –

risposta

0

trovato la risposta: read more docs: p

Dal langid si configura come una catena di richiesta di aggiornamento del processore, ha bisogno di essere selezionato (non è automatico). Quindi, questo funziona:

curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true&update.chain=langid" -F "[email protected]"