Myśląc na poważnie o wyszukiwaniu pełnotekstowym, musisz zainteresować się  Solr lub Elasticsearch, czyli z  dwoma najbardziej popularnymi i zaawansowanymi silnikami wyszukiwania opartymi na bibliotece Lucene. 

Jakie możliwości daje Solr?

Highlithing - wyciąganie fragmentów odpowiedzi dokumentów (treści), które pasują dokładnie do zadanego pytania przez użytkownika oraz zaznaczanie tego fragmentu w całej treści.  Sprawdza się idealnie w wyszukiwarce blogowej lub na portalu internetowym.

Highlithing Solroptymeo.pl | ilustracja | zwrócona odpowiedź z API Solr-a | Highlithing Solr

Faceting - wyciąganie kategorii (ogólnie taksonomii) na podstawie zapytania. Funkcjonalność ta jest wykorzystywana do budowania zaawansowanych wyszukiwarek i porównywarek sklepowych, bo faceting ułatwia użytkownikom przeglądanie wyników wyszukiwania poprzez zawężanie tych wyników. 

Autocomplete – bardzo wydajne podpowiadanie szukanej frazy. Możemy wdrożyć funkcjonalność podobną do podpowiadania w wyszukiwarce Google. 

Related -  a dokładnie plugin, który nazywa się MoreLikeThis  i umie zwracać podobne treści do podanych dokumentów. Idealnie sprawdza się do sugerowania innej treści dla użytkowników.  Świetne rozwiązanie pod SEO.

Solr jako wydajny silnik listingów

Sorl dzięki sprawnemu mechanizmowy indeksacji (real-time indexing) w swoim silniku nowych dokumentów może służyć jako znakomity mechanizm do budowania listingów w bardzo dużych serwisach internetowych. Na Polskim i zagranicznym rynku stoją na tym największe e-commerce i serwisy z dużymi bazami do przeszukiwania. 

Solr dzięki wielu możliwościom indeksacji (tak jakby import danych) dokumentów zintegrujesz z każdym rodzajem obecnych CMS-ów na rynku. W zależności od potrzeb zrobisz to za pomocą restowego API lub dzięki DataImportHandler dostępu do bazy relacyjnej, lub wygenerowanych przez Ciebie dokumentów XML, lub plików CSV. 

Wdrażamy takie rozwiązania w stronach opartych o PHP (WordPress, Laravel). Jeśli potrzebujesz takiego rozwiązania, to odezwij się do nas na [email protected]