W artykule:
Duże witryny z dużą ilością treści mogą łatwo ugrzęznąć, gdy ludzie próbują znaleźć treści.
Za każdym razem, gdy ktoś używa pola „Szukaj” w Twojej witrynie, używa zapytań MySQL do bazy danych, pochłaniając zasoby i spowalniając wszystko.
Sprawdź nasze post 27 rozwiązania 14 zapomniane problemy z szybkością strony WordPress więcej na ten temat.
Na szczęście zainstalowanie dedykowanej Wyszukiwarki, takiej jak Elasticsearch, może przyspieszyć Twoją witrynę i umożliwić odwiedzającym szybkie wyszukiwanie i znajdowanie niesamowitych treści, które w przeciwnym razie mogłyby być ukryte w Twojej witrynie.
W tym artykule przyjrzymy się, jak skonfigurować serwer Elasticsearch i dwie wtyczki WordPress, które mogą pomóc w zarządzaniu Elasticsearch z panelu administracyjnego WordPress: ElasticPress od 10up i Fantastic Elasticsearch.
Chcesz dowiedzieć się więcej? Sprawdź ” rozwiązania 27 do Zapomnianych problemów z szybkością strony 14 WordPress.”
Dlaczego Zastąpić WordPress Search?
Wbudowana funkcja wyszukiwania w WordPress jest tak naprawdę tylko bezpośrednim zapytaniem do bazy danych MySQL. Działa dobrze dla witryny z postami 100 po kilkaset słów, ale jeśli Twoja witryna publikuje kilkanaście artykułów dziennie na różne tematy, wyszukiwanie pojedynczego słowa lub krótkiej frazy w tabeli bazy danych zajmie trochę czasu.
Twoja witryna może nie być tego samego rozmiaru, co globalny serwis informacyjny z dziesiątkami współpracowników, ale może być wystarczająco duża, gdzie liczy się czas. Czas, którego odwiedzający nie chcą marnować.
Dlaczego Warto Wybrać Elasticsearch?
Elasticsearch to popularne narzędzie do wyszukiwania, używane przez gigantów takich jak Wikimedia Foundation, Facebook, Mozilla i Netflix. Strona, która działa na pytania ludzi, Quora, również używa Elasticsearch.

Elasticsearch upraszcza i ulepsza wyszukiwarkę Apache Lucene. Podobnie jak w przypadku większości programów, które upraszczają rzeczy dla użytkownika, kryje się za tym wiele złożoności. Prędkość pochodzi od podstawowej struktury systemu. Cała twoja zawartość jest przechowywana w „węzłach”, które mogą znajdować się na dowolnej liczbie różnych serwerów.
Wraz ze wzrostem rozmiaru zawartości witryny, węzły mogą być przechowywane w klastrach. Na drugim końcu zawartość w węźle otrzymuje indeks złożony z” odłamków ” zawartości. Gdy ktoś przeszukuje Twoją witrynę, Elasticsearch sprawdza indeks pod kątem wyszukiwanego hasła, a nie całej bazy danych za każdym razem.
Identyfikacja hosta serwera Elasticsearch
ElasticPress potrzebuje serwera do przechowywania swoich informacji, więc przed zainstalowaniem jakichkolwiek wtyczek należy umieścić serwer Elasticsearch na miejscu. To może być najtrudniejszy element układanki.
Najpierw sprawdź u swojego hosta, aby sprawdzić, czy obsługuje Elasticsearch. Większość dystrybucji Linuksa zawiera pakiet Elasticsearch.
Możesz również uzyskać obraz dokera dla Elasticsearch. Zobacz budowanie WordPressa na Dockerze w systemach Windows, Linux i OS X, aby dowiedzieć się, jak skonfigurować Dockera.
Możesz także wybierać spośród wielu rozwiązań chmurowych. Amazon Web Services oferuje do 750 godzin miesięcznie usług Elasticsearch za darmo. Podstawowy plan QBOX oferuje godzinowy Plan wyszukiwania za nieco ponad 5 centów.
Na koniec, jeśli masz gigantyczną witrynę o dużym natężeniu ruchu, 10up chce, abyś wiedział, że mają ElasticPress.io aby zaspokoić Twoje potrzeby. Wymaga to dość dużej miesięcznej opłaty, ale może być warte kosztów.
Instalacja Elasticsearch 5.3
Jeśli hostujesz własną instancję Elasticsearch, musisz zainstalować system na swoim serwerze.
Komponenty silnika są napisane w języku Java, więc będziesz potrzebował 64-bitowego Java Development Kit (JDK) w wersji 8 lub nowszej. Możesz uzyskać najnowszą oficjalną dystrybucję tutaj. OpenJDK jest opcją open source, która będzie również działać:
Potrzebny będzie większy zestaw programistyczny Java, ponieważ jest wyposażony w maszynę wirtualną Javy (JVM), której brakuje w bardziej powszechnym środowisku Java Runtime Environment (JRE). Elasticsearch wykonuje całą swoją pracę wewnątrz JVM.
Elasticsearch jest w rzeczywistości pakietem tych komponentów, znanym łącznie jako Elastic Stack:
- Logstash: zbiera dane
- Elasticsearch: podstawowa wyszukiwarka
- Beats: transportuje dane Wyszukiwania
- Kibana: interfejs użytkownika, który zarządza systemem
- Elasticsearch Hadoop: silnik, który zarządza Big Data
- X-Pack: kilka usług premium od Elasti.co. podstawowe monitorowanie jest bezpłatne, ale Bezpieczeństwo i inne rzeczy będą Cię kosztować.
Na szczęście, wszystkie te są w jednym pakiecie, albo jako archiwum (.zip lub smoła.gz) lub pakiet instalacyjny Linuksa (RPM lub DEB).
Następnie pobierz Elasticsearch tutaj.
Elasticsearch w wersji 5.6 wprowadził graficzny instalator dla systemu Windows, który znacznie upraszcza instalację. Niestety, w momencie pisania tego tekstu wtyczka ElasticPress obsługuje tylko Elasticsearch 5.3 i wcześniejsze. Będziesz więc musiał użyć Instalatora wiersza poleceń, aby Elasticsearch pracował z Twoją witryną WordPress.
Poniższe kroki zainstalują Elasticsearch z wiersza poleceń systemu Windows. Pakiety Linuksa powinny zarządzać tym za Ciebie.
Użyj swojego ulubionego narzędzia archiwum (PKZip, 7zip, WinZip i tym podobne), aby rozpakować pakiet Elasticsearch do katalogu, do którego masz dostęp na woluminie serwera, którego chcesz użyć. Będzie to katalog domowy lub instalacyjny. Pamiętaj, że wybrany wolumin musi mieć co najmniej 15% wolnego miejsca, aby pomyślnie zainstalować Elasticsearch.
Otwórz wiersz poleceń i skieruj go do katalogu instalacyjnego. Wpisz to polecenie:
. bin Elasticsearch.bat
Instalator rozpocznie konfigurację woluminu i zidentyfikuje adres IP dla środowiska localhost (prawdopodobnie 127.0.0.1: 9200)
Aby uruchomić Elasticsearch z wiersza poleceń Windows, wpisz ten sam Elasticsearch.Bat command, którego używałeś do instalacji.
Aby potwierdzić, że działa:
curl-XGET ' localhost: 9200/?pretty'
Aby zainstalować usługę Elasticsearch, która działa w tle, wpisz:
Elasticsearch-instalacja serwisowa
Rozpocznij usługę od:
Elasticsearch-serwis start
Dokumentacja Elasticsearch online jest bardzo pomocna, jeśli napotkasz problemy.
Instalacja ElasticPress
Następnie instalacja ElasticPress. Użyj standardowego procesu, aby zainstalować i aktywować ElasticPress. Po zakończeniu wtyczka pozostawia wiadomość na górze strony administratora wtyczki, wskazując, że masz „szybki proces konfiguracji” do ukończenia, zanim nowa wyszukiwarka zostanie uruchomiona w Twojej witrynie.
Ten proces konfiguracji wskazuje ElasticPress na Twój serwer Elasticsearch. Wtyczka połączy Elasticsearch z bazą danych WordPress w tle. Pobierz to z wyszukiwanego hosta, jeśli nie zainstalowałeś pakietu samodzielnie.
W przeciwnym razie użyj adresu IP dla localhost (127.0.0.1:9200), który instalator zidentyfikował w ostatniej sekcji. Twoje możliwości wyszukiwania będą teraz korzystać z Elasticsearch.

Korzystanie Z Fantastycznej Wtyczki Elasticsearch
Ta wtyczka jest użyteczną alternatywą dla ElasticPress, pozwalającą na nieco większą elastyczność, kiedy używać Elasticsearch zamiast standardowego wyszukiwania WordPress. Jeśli chcesz przehandlować prędkość na redukcję kosztów miejsca na serwerze w chmurze i ruchu, fantastyczny ES jest najlepszym rozwiązaniem.
Po podłączeniu witryny do serwera Elasticsearch określ obszary witryny, które uzyskują największy ruch w wyszukiwarce. Następnie użyj wtyczki, aby finetune jaką zawartość chcesz użyć tego narzędzia. Przejdź do Ustawienia > ElasticSearch > Integracja WordPress. Możesz wybrać konkretne archiwa kategorii, niestandardowe typy postów i tagi.

Jeśli jesteś ekspertem od Wyszukiwania, istnieje wiele innych ustawień, które fantastyczny Elasticsearch może skonfigurować dla ciebie.
Wniosek
Elasticsearch jest doskonałym rozwiązaniem problemu wyszukiwania tematów, które zajmuje dużo czasu. W zależności od poziomu komfortu przechowywania danych w chmurze i znalezienia niedrogiego rozwiązania do przechowywania, zarówno ElasticPress, jak i Fantastic Elasticsearch mogą uprościć konfigurację i zarządzanie Elasticsearch w WordPress.
Miejmy nadzieję, że ElasticPress wkrótce wesprze prostszą graficzną instalację Elasticsearch 5.6.
Tagi: