Buduję projekt Django, który potrzebuje funkcji wyszukiwania i dopóki nie pojawi się django.contrib.search
, muszę wybrać aplikację do wyszukiwania. Więc który jest najlepszy? Przez „najlepsze” mam na myśli ...
- łatwy w instalacji / konfiguracji
- ma interfejs API przyjazny dla Django lub przynajmniej Pythona
- potrafi wykonywać dość złożone wyszukiwania
Oto kilka aplikacji, o których słyszałem, zasugeruj inne, jeśli znasz jakieś:
Chciałbym również uniknąć korzystania z wyszukiwarki innej firmy (takiej jak Google SiteSearch), ponieważ niektóre dane, które chciałbym zindeksować, dotyczą tylko członków witryny i nie powinny być publiczne.
python
django
search
search-engine
Justin Voss
źródło
źródło
Odpowiedzi:
Sprawdź Haystack Search - nową warstwę abstrakcji wyszukiwania opartą na modelu, która obecnie obsługuje Xapian , Solr i Whoosh . Wygląda na to, że jest dobrze obsługiwany i udokumentowany.
źródło
Justin, najpierw spróbuję djangosearch : pracuje nad tym Jacob Kaplan-Moss (główny programista Django).
Potencjalne zagrożenia:
Ewentualne zyski:
django.contrib.search
”.źródło
Szukam tego samego, co wielu innych ludzi. Miejmy nadzieję, że django.contrib.search zostanie wkrótce dodane.
W międzyczasie oto co znalazłem:
Dla mnie większość wygląda na dość skomplikowaną i, szczerze mówiąc, trochę onieśmielającą do wdrożenia. Chciałbym się dowiedzieć, co o nich myślisz.
źródło
Strona kodowa google dla djangosearch wskazuje, że nie jest już aktywnie rozwijana i sugeruje stóg siana lub solango .
źródło
Poleciłbym Sphinx do wyszukiwania pełnotekstowego i agregacji, a django-sphinx jest wystarczająco dobry do użytku produkcyjnego. Okazało się, że Sphinx był najmniej zasobochłonnym i najszybszym sposobem indeksowania i przeszukiwania naszych dokumentów, a django-sphinx był ładnym opakowaniem na kliencie sphinx.
Grupowanie według agregacji jest szczególnie przyjemne, jeśli na przykład chcesz wyświetlić, ile dokumentów z określonym tagiem lub określonego autora (lub obu) pasuje do wyszukiwania. Aktualizacje atrybutów w pamięci były również wygodne, zwłaszcza w przypadku natychmiastowego usuwania usuniętych artykułów.
źródło
Dzięki Garth. Widziałem, że djangosearch chciał zostać oficjalną wyszukiwarką Django, ale wahałem się, czy z niej skorzystać, ponieważ nie mogłem znaleźć żadnej dokumentacji! Na szczęście w Subversion jest README , którego wcześniej nie widziałem i dzięki temu API wygląda bardzo fajnie:
źródło
Potrzebowałem tylko bardzo szybkiego rozwiązania, które nie byłoby kłopotliwe dla wewnętrznej aplikacji.
Znalazłem artykuł Dodawanie wyszukiwania do Django w mgnieniu oka i zadziałał świetnie!
Oczywiście brakuje mu szybkości, skalowalności i funkcji prawdziwych projektów, takich jak Haystack, ale ten jest łatwiejszy do skonfigurowania i tak naprawdę nie potrzebuję niczego innego niż słowo kluczowe AND-search.
źródło
Możesz rozważyć pozwolenie firmie Yahoo na wykonanie całej ciężkiej pracy w ramach ich własnej usługi wyszukiwania (BOSS). Oto świetny wpis na blogu, który przeprowadzi Cię przez ten proces: http://www.peterkrantz.com/2008/yahoo-search-in-django/
źródło
Wygląda na to, że wszyscy tutaj tęsknili za django-xappy
Po szybkiej ocenie wszystkich istniejących dodatków wyszukiwania dla Django, uznałem ten za najbardziej elastyczny i najłatwiejszy w użyciu. W kilku miejscach jest szorstki na krawędziach, ale nadal jest to najlepszy sposób na wykorzystanie mocy wyszukiwarki Xapian w projektach Django.
źródło
Możesz spojrzeć na wyszukiwarkę Django Solr (aka "Solango"), która zawiera niezłą dokumentację na początek ...
źródło
Jeśli masz dużą ilość danych do zindeksowania lub spodziewasz się dużego ruchu, proponuję skorzystać z zewnętrznej wyszukiwarki, np . Solr . W ten sposób zachowasz podejście „ nic nie współdzielone” i będziesz w stanie niezależnie skalować komponenty witryny.
źródło
Myślę, że będę musiał krzyknąć do Djapiana.
Jest solidny jak skała ... po prostu ściągnij dystrybucję źródeł i zajrzyj do środka. Kod najwyższej klasy, ale niezbyt wiele komentarzy ...
To wciąż młody projekt oprogramowania, ale myślę, że społeczność django powinna poprzeć ten projekt.
źródło
Dzięki Joe,
Zdecydowaliśmy się na Tsearch2 i niestandardowy adapter postgres. Tsearch2 nie potrzebuje dodatkowego procesu do uruchomienia, co było wygodne, ponieważ korzystamy z hostingu WebFaction z ograniczoną pamięcią ... Nie jest to jeszcze ukończone, ale wydaje się być dobrym rozwiązaniem ...
źródło
Znalazłem Djoosh który opiera się na czystej Pythona wyszukiwania zewnętrzny silnik Whoosh się dobrze z moim 'Pythona mózgu.
źródło
Jeśli chcesz skorzystać z wyszukiwarki innej firmy, mogę polecić Yahoo BOSS i django-bosssearch .
Yahoo BOSS jest usługą płatną, ale oszczędza konfigurowanie i utrzymywanie innego oprogramowania do wyszukiwania na serwerze.
źródło