1 Как ставить solr - http://django-haystack.readthedocs.org/en/latest/installing_search_engines.html
2 Установка haystack и пример создания индекса и приложения - http://django-haystack.readthedocs.org/en/latest/tutorial.html#installation
3 Плюс к этому можешь почитать этот туториал (я взял оттуда конфиг для supervisor) - http://habrahabr.ru/post/225999/
4 Затем самое сложно подобрать нормальный конфиг для работы с русским языком. Я пока остановился на таком (настройка поля в schema.xml) - тут русская морфология + поиск на латинице - перевод в кирилицу:
<fieldType name="spell_ru" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ICUTransformFilterFactory" id="Any-Cyrillic; NFD; [^\p{Alnum}] Remove" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ru.txt" format="snowball" />
<!--<filter class="solr.SnowballPorterFilterFactory" language="Russian"/>-->
<filter class="solr.RussianLightStemFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="4" maxGramSize="25" />
</analyzer>
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.LengthFilterFactory" min="3" max="256" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ru.txt" format="snowball" />
<!--<filter class="solr.SnowballPorterFilterFactory" language="Russian"/>-->
<filter class="solr.RussianLightStemFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="4" maxGramSize="25" />
</analyzer>
</fieldType>
Еще туториалы:
- http://timbroder.com/2012/08/getting-started-with-solr-and-django.html
- http://axiacore.com/blog/django-and-haystack-part-i/
- http://blog.diffbrent.com/elasticsearch-django-haystack/
Основные настройки solr влияющие на качество поиска - http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
Может как нибудь все соберу, да сделаю рецепт.
Updated 15 March 2015, 22:54 by loader.