2012-06-02 3 views
2

Я хочу использовать Django-Haystack-Solr на сайте, над которым я работаю. Я работал с примерами в документации Haystack и много раз искал интернет для других примеров. У меня возникли трудности с внедрением этого метода на моем сайте. Я нашел http://www.slideshare.net/Nagyman/faceted-navigation-using-django-haystack-and-solr интересным, но не понял, как все это сделать. Если кто-то столкнется с некоторыми «надежными» примерами огранки Haystack, веб-сайтами с открытым исходным кодом или захочет поделиться своим собственным кодом, пожалуйста, укажите ссылки/общий код. Спасибо за помощь.Django Haystack Экранные примеры

btw - Я хочу, чтобы фасет на несколько полей из нескольких моделей (таблиц), и выяснить способ использования альтернативных меток для граней.

+0

Почему вы не предоставляете некоторые модели и пример того, что вы хотели бы фасетом? Тогда, возможно, мы сможем сделать пример из этого. –

+0

Был ли какой-то вопрос когда-либо разрешен или нет? –

ответ

0

Хотя старый вопрос, но в любом случае пытается дать ответ. :) Положите что-то подобное в вашем url.conf

sqs = SearchQuerySet().facet('auther') 

+

urlpatterns += patterns('haystack.views', 
url(r'^$', FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs), name='haystack_search'), 

)

Вы должны иметь аспекты, определенные в App1.

title = indexes.CharField(model_attr='title',faceted=True,null=True) 

И шаблон должен быть чем-то вроде следующего.

  <!-- Begin faceting. --> 
<div> 
    <dl> 


     {% if facets.fields.wish_text %} 
      {% for author in facets.fields.title %} 
       <dd><a href="{{ request.get_full_path }}&amp;selected_facets=author_exact:{{ author.0|urlencode }}">{{ author.0 }}</a> ({{ author.1 }})</dd> 
      {% endfor %} 
     {% else %} 
      <p>No author facets.</p> 
     {% endif %} 
    </dl> 

</div> 
<!-- End faceting --> 
1

Вот недавний учебник, который я сделал по этой теме. Это использует поиск Elastic вместо solr, который, как мне кажется, проще реализовать.

Django Haystack + Elasticsearch + Autocomplete + Faceting Tutorial

Я реализовал следующий демонстрационный сайт магазина, чтобы продемонстрировать огранку на основе множественного выбора.

Хотя это не очевидно из изображения, в этом руководстве также обсуждается автоматическая полная реализация.

enter image description here

Но даже если вы хотите использовать это с Solr, большая часть кода, связанного с огранка и автозаполнение остается тем же самым. Так что да, этот код в равной степени применим, если вы используете Solr.For solr, вам просто нужно изменить значение HAYSTACK_CONNECTIONS в вашем файле настроек и построить индекс Solr, запустив manage.py build_solr_schema. Отбросьте вывод XML в файле schema.xml Solr и перезапустите свой сервер Solr. Ничто иное не меняется в коде Python/Django.

Whoosh реализует огранку, но сэндвич Джанго еще не догнал Whoosh на этом этапе развития, поэтому держитесь подальше от него, если вы хотите реализовать огранку.

Этот код является слишком большим для совместного использования здесь, но для тех, кто хочет погрузиться прямо в код, вот complete source code.