Właśnie zainstalowałem Solr, a teraz eksperymentuję, aby nauczyć się go używać. Chciałbym użyć funkcji Solr Cell i langid, więc poszedłem za połączonymi samouczkami. Solr Cell działa, ale nie mogę zrobić nic złego.Nie mogę zrobić języka w Solr 4.0
W solrconfig.xml
, mam to:
<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>
(Próbowałem też z Tika), a ja wysłać dokumentu za
curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true" -F "[email protected]"
Ale kiedy zapytanie, text:[* TO *]
daje mi mój dokument , ale text_en:[* TO *]
nie; language_s
, nawet jeśli deklaruję je jako przechowywane, jest uparcie nieobecne; *:word
niczego nie znajduje, nawet jeśli jest "words"
, więc nie jest on wywodzony; i nie mogę znaleźć niczego w dzienniku. Domyślam się, że langid nie działa i nie mam pojęcia dlaczego.
EDIT: Znaleziono odpowiedź: read more docs: p
Od langid jest skonfigurowany jako łańcuch aktualizacja żądanie procesora, to musi się wybrany (nie jest to automatyczne). Tak to działa:
curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true&update.chain=langid" -F "[email protected]"
Dzięki za wysłanie tego, miałem takie same problemy. P.S w moim przypadku (najnowszy SOLR), adres URL aktualizacji był: -Durl = "http: // localhost: 8080/solr/update? Update.chain = langid –