Ладно, вот что я сделал, чтобы выяснить, в чем проблема - свист или стог сена. Я открыл оболочку django и выполнил поиск по термину, который не отображался в поиске haystack API SearchQuery:
./manage.py shell
$>> import whoosh
$>> from whoosh.query import *
$>> from whoosh.index import open_dir
$>> ix = open_dir('/home/somedir/my_project/haystack/whoosh/')
$>> ix.schema
<Schema: ['branch', 'category', 'coordinator', 'date_event', 'designation','details', 'django_ct', 'django_id'> 'name', 'organisation', 'overview','text', 'title']>
$>> searcher = ix.searcher()
$>> res = searcher.search(Term('text',u'akshit'))
$>> print res
<Top 1 Results for Term('text', 'akshit') runtime=0.000741004943848>
$>> print res['0']['name']
u'Akshit Khurana'
Итак, вы видите, Whoosh правильно индексирует все данные. Итак, теперь я пробую SearchQuery API
./manage.py shell
$>> from haystack.query import SearchQuerySet
$>> sqs = SearchQuerySet().filter(content='akshit')
$>> sqs
$>> []
Итак, я понимаю, что должен проверить файл whoosh_backend.py библиотеки стога сена, чтобы увидеть, что происходит. Открыто - haystack.backends.whoosh_backend around line number 345
'''Uncomment these two lines because the raw_results set becomes empty after the filter call for some queries''
if narrowed_results:
raw_results.filter(narrowed_results)
до
#if narrowed_results:
#raw_results.filter(narrowed_results)
И тогда это работает. SearchQueryAPI возвращает точно один результат для тестового запроса, как и ожидалось. Веб-поиск работает, но я хотел бы знать, в чем проблема с стогом сена здесь.