2012-07-08 25 views
10

sto cercando di impostare Solr 3.6.0 con Django-pagliaio Beta 2.0.0.Solr non riesce a trovare risorse stopwords_en.txt

Dopo aver eseguito ./manage.py build_solr_schema e spostato schema.xml nella directory conf, dopo aver visitato http://localhost:8983/solr/admin, si riceve un errore esattamente come quello prodotto in this thread.

org.apache.solr.common.SolrException: No cores were created, please check the logs for errors

java.lang.RuntimeException: Can't find resource 'stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

Nella parte inferiore del filo, un utente menziona che schema.xml deve essere modificato per corrispondere alla stopwords_en.txt/esempio/solr/conf/directory, che feci sia attraverso un collegamento simbolico sia modificando tutte le istanze di stopwords.txt in /solr/conf/stopwords_en.txt nel file schema.xml generato. Tuttavia, lo stesso errore persiste, dando una potenza leggermente diversa:

java.lang.RuntimeException: Can't find resource '/solr/conf/stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

Che lima devo modificare per risolvere questo problema?

risposta

7

Impossibile trovare il file stopwords_en.txt nel classpath. È necessario aggiungere il file stopwords_en.txt nella directory solr/conf/. Potete trovare ulteriori informazioni su stopword here.

+1

lavorando per me ...! + 1 – mcacorner

2

devi mettere stopwords_en.txt nel percorso. Crea un nome di file stopwords_en.txt e incolla accanto allo schema.xml. Spero che tu sappia che filtro stopword è utilizzato .....

6

Un modo migliore è quello di trovare tutte le occorrenze di stopwords_en.txt in schema.xml e sostituirli con lang/stopwords_en.txt

1

di combinare tutti tre delle risposte di cui sopra, è necessario lo stopwords_en.txt quando inizia il test per il testo in lingua inglese

Da http://wiki.apache.org/solr/LanguageAnalysis#Stopwords

Le parole chiave hanno effetto su Solr in tre modi: rilevanza, prestazioni e utilizzo delle risorse .

Dal punto di vista della rilevanza, questi termini ad altissima frequenza tendono a eliminare l'algoritmo di punteggio e non si ottengono risultati molto buoni se li si lascia. Allo stesso tempo, se li rimuovi, puoi restituire risultati errati con lo quando la stopword è effettivamente importante.

Dal punto di vista delle prestazioni, se si mantiene stopwords, alcune query (soprattutto frase query) può essere molto lento.

Dal punto di vista dell'utilizzo delle risorse, se si mantengono le stopword, l'indice è molto più grande rispetto a quando vengono rimossi.

Un compromesso è possibile effettuare se si dispone di spazio su disco: È possibile utilizzare CommonGramsFilter/CommonGramsQueryFilter invece di StopFilter.Questo risolve i problemi di rilevanza e prestazioni, a spese persino di utilizzo di risorse in più, perché formerà i bigrammi di stopword alle parole adiacenti.

Quello che dovete fare è copiare la versione originale si trova nella cartella/conf/lang della directory solr nel solo la directory/conf

cp PATH/TO/solr/conf/lang/stopwords_en.txt PATH/TO/solr/conf 
1

In Solr 5 ho ottenuto lo stesso errore. Ho usato la cli shell Solr Zookeeper per caricare la mia configurazione. Avevo copiato il contenuto di una configurazione esistente di solr dal server/solr/configsets/basic_configs, ma in qualche modo ho perso la directory lang.

La directory conf/lang contiene stopwords_en.txt.

0

Ho avuto lo stesso problema e si scopre che quando sono stato creato il mio file stopwords_en.txt ho accidentalmente creato il file stopwords_en.txt.txt. Ricreare come il file .txt corretto ha risolto il problema