2012-02-05 2 views
2

Я использую django и haystack с whoosh, и у меня есть несколько вопросов о них:Как искать во всех моделях django с Haystack и Whoosh?

1) Когда я пытаюсь выполнить поиск smth, я должен выбрать все модели, индексированные в whoosh. Как я могу настроить систему на поиск значений везде (на всех моделях)?

2) У меня есть поле ввода поиска, но оно не работает с URL-адресами haystack. Так что мой шаблон (я использую самозагрузки):

<form method="get" action="/search/" class="navbar-search pull-left"> 
    <input type="text" class="search-query" placeholder="Search"> 
</form> 

И у меня есть URL поиска, как в учебнике:

(r'^search/', include('haystack.urls')), 

Как говорят, эту форму, чтобы начать поиск immidiately и отправляет данные в стоге сена?

ответ

0

Вам необходимо создать классы RealTimeSearchIndex в файле search_index.py в корне проекта и зарегистрировать эти индексы с помощью стога сена.

Затем вам нужно переиндексировать свои данные, используя команду сена manage.py reindex.

Затем вам необходимо предоставить шаблон для страницы поиска, которую сгенерирует сена.

Продолжайте читать документы, все это есть.

0

Для части 2,

так стог использует? Д = для получения запросов, вы должны поставить имя = "Q" в поле ввода,

<form method="get" action="/search/" class="navbar-search pull-left"> 
    <input name="q" type="text" class="search-query" placeholder="Search"> 
</form> 

Для части 1,

вы можете поместить в search_indexes.py в каждую папку модели. Не уверен, есть ли более эффективный метод. Вы можете использовать ModelSearchView, если вы хотите дать пользователям выбор для поиска моделей.