Sphinx: Różnice pomiędzy wersjami
Linia 11: | Linia 11: | ||
* <code>indextool</code> - program narzędziowy do zrzucania rozmaitych; | * <code>indextool</code> - program narzędziowy do zrzucania rozmaitych; | ||
* <code>wordbreaker</code> - program służący do rozdzielania połączonych wyrazów na oddzielne. | * <code>wordbreaker</code> - program służący do rozdzielania połączonych wyrazów na oddzielne. | ||
+ | |||
+ | === Indeksowanie === | ||
+ | |||
+ | Dla wygodniejszej pracy zalecane jest stworzenie paru katalogów, na przykład: | ||
+ | * <code class="directory">wyszukiwanie/dane/wiadomosci</code> - wszystkie artykuły; | ||
+ | * <code class="directory">wyszukiwanie/index/wiadomosci</code> - wszystkie pliki stworze podczas indeksowania; | ||
+ | * <code class="directory">wyszukiwanie/conf</code> - pliki konfiguracyjne; | ||
+ | * <code class="directory">wyszukiwanie/bin/wiadomosci</code> - skrypty potrzebne do indeksowania. | ||
+ | |||
+ | Plik konfiguracyjny <code class="directory">wyszukiwanie/conf/sphinx.conf</code>: | ||
+ | <syntaxhighlight lang="text"> | ||
+ | source wiadomosci | ||
+ | { | ||
+ | type = xmlpipe | ||
+ | xmlpipe_command = /search/bin/news/xmlout.sh | ||
+ | xmlpipe_field = content | ||
+ | xmlpipe_attr_string = url | ||
+ | xmlpipe_attr_uint = date | ||
+ | xmlpipe_fixup_utf8 = 1 | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * | ||
=== Odnośniki Zewnętrzne === | === Odnośniki Zewnętrzne === | ||
* [http://sphinxsearch.com/ Sphinx Search] | * [http://sphinxsearch.com/ Sphinx Search] | ||
− | [[Kategoria: | + | [[Kategoria:Bazy danych]] |
Wersja z 18:03, 21 lip 2015
Sphinx to otwarty, w pełni tekstowy serwer wyszukiwania stworzony w C++ i udostępniony na licencji GPLv2. Najczęściej jest wykorzystywany do indeksowania danych z baz MySQL, PostreSQL i specjalnie sformatowanych plików xml.
Elementy Sphinxa
Sphinx składa się z następujących elementów:
-
indexer
- narzędzie do tworzenia pełnotekstowych indeksów (indices); -
searchd
- demon do przeszukiwania indeksów przez zewnętrzne aplikacji (np. skrypty www komunikujące się przez API, MySQ z SphinxSE itp.), jest uruchomiony na serwerze; -
sphinxapi
- zbiór bibliotek udostępniających API Sphinxa dla PHP, Pythona, Javy, Perla, czy Rubiego; -
spelldump
- proste narzędzie do wydobywania pozycji ze słownika ispell lub MySpell służące do dostosowania indexu; -
indextool
- program narzędziowy do zrzucania rozmaitych; -
wordbreaker
- program służący do rozdzielania połączonych wyrazów na oddzielne.
Indeksowanie
Dla wygodniejszej pracy zalecane jest stworzenie paru katalogów, na przykład:
-
wyszukiwanie/dane/wiadomosci
- wszystkie artykuły; -
wyszukiwanie/index/wiadomosci
- wszystkie pliki stworze podczas indeksowania; -
wyszukiwanie/conf
- pliki konfiguracyjne; -
wyszukiwanie/bin/wiadomosci
- skrypty potrzebne do indeksowania.
Plik konfiguracyjny wyszukiwanie/conf/sphinx.conf
:
source wiadomosci { type = xmlpipe xmlpipe_command = /search/bin/news/xmlout.sh xmlpipe_field = content xmlpipe_attr_string = url xmlpipe_attr_uint = date xmlpipe_fixup_utf8 = 1 }