Смотрю на форуме многие используют solr для полнотекстового поиска, прошу помочь советом.
Solr и haystack поставил и настроил, сделал индексы. Solr - 4.10, haystack из pip.
Поисковую форму встроил просто в шаблон:
<form action="/company/search/" method="POST">
{% csrf_token %}
<input type="text" name="q">
<input type="submit" value="Поиск">
</form>
Во вьюхе обрабатываю как-то так (делаю так, а не как в примере на haystack) - т.к. надо дополнительно фильтровать + обрабатывать полученный результат:
def CompanySearch(request):
if request.method == 'POST':
q = request.POST['q']
if q != '':
results = SearchQuerySet().filter(content=q)
context['results'] = results
return render_to_response('company/search.html', context)
Так вот проблема - ищет только по полному совпадению слов, ни тебе словоформ, ни нескольких слов разбросанных по индексу, ни поиска по части слова.
Насколько читал доки solra и интернет - нужно настраивать schema.xml - но никак не выходит каменный цветок.
Прошу совета - куда копать. Может кто поделится своей схемой.
Плюс еще вопрос - можно ли средствами solr'а сделать поиск по транслиту (вводишь cvetok - ищет цветок)?