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:Bazy_Danych]]
+
[[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
}

Odnośniki Zewnętrzne