Search Kick Gem – Um Ihre Suche in der Rails-App intelligent zu gestalten

Search Kick Gem ist ein Ruby-Gem, das auf Elasticsearch läuft und es einfach macht, Suchvorgänge auf Rails-freundliche Weise durchzuführen. Darüber hinaus können Sie weitere Funktionen hinzufügen, darunter Analysen, automatische Vervollständigung und personalisierte Ergebnisse. Searchkick erkennt, wonach Ihre Benutzer suchen. Je mehr Personen jagen, desto brillanter wird die Jagd und die Ergebnisse verbessern sich. Es ist wohlwollend für Designer – und übernatürlich für Ihre Benutzer. Es verarbeitet Wortstämme, Sonderzeichen, zusätzliche Leerzeichen, Rechtschreibfehler und benutzerdefinierte Synonyme. Stellen Sie zunächst sicher, dass Elasticsearch auf Ihrem Heimcomputer installiert ist. Abhängig von Ihrem Betriebssystem unterscheidet sich der Installationsprozess geringfügig. Stellen Sie sicher, dass Sie mindestens Java 7 haben. Sobald Sie dies erledigt haben, fügen Sie searchick zu Ihrer Rails-Anwendung hinzu und installieren es, indem Sie Folgendes zu Ihrer Gemfile hinzufügen und die Bundle-Installation ausführen.
Juwel 'Suchkick'
Wenn Sie beides installiert haben und einsatzbereit sind, müssen Sie angeben, welche Modelle Sie in Ihrer Anwendung durchsuchen möchten. Fügen Sie einfach searchkick zur Modelldatei hinzu, damit es funktioniert. Anschließend müssen wir die Modelle neu indizieren, damit Elasticsearch ordnungsgemäß ausgeführt werden kann. Führen Sie in Ihrem Terminal Folgendes aus:
rake searchkick:reindex:all
Die Suche mit Searchkick ist völlig unkompliziert. Führen Sie grundsätzlich YourModel.search aus, gefolgt von den Suchparametern und allen Filtern, die Sie hinzufügen möchten. Eine komplexere Suche ist beispielsweise unten: @offers = Offer.search params[:search], page: params[:page], per_page: 10, order: {starttime: :desc}, Fields: [{offer_name: :word_start}, {offer_request_name: :word_start}:price], wobei: { starttime: { gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[: todate], '%m/%d/%Y') } } Bei dieser Suche nehmen wir die Suchanfrage des Benutzers mit params[:search] und durchsuchen die Lektionen mit den folgenden Bedingungen: Seitennummerierung: Dieser Teil des Codes gibt die Ergebnisse der Suche auf 10er-Seiten zurück. Mit dieser Methode können Sie ändern, wie viele Listenelemente Sie auf jeder Seite benötigen. Dies funktioniert sowohl mit will_paginate als auch mit kaminari. Befehl: order: {starttime: :desc} – Diese Methode bestimmt, in welcher Reihenfolge die Ergebnisse zurückgegeben werden. Dadurch können wir die Ergebnisanzeige in aufsteigender oder absteigender Reihenfolge ändern. In diesem Fall haben wir zuerst die neuesten Ergebnisse zurückgegeben. Felder: [{offer_name: :word_start},{offer_request_name: :word_start} :price] – Bei dieser Methode haben wir Benutzern die Suche nach Angebotsname, Angebotstyp oder Angebotspreis ermöglicht. Mit der Methode „word_start“ können Benutzer nur den ersten Teil des Angebotsnamens eingeben und trotzdem das Angebot in den Suchergebnissen sehen. Beispielsweise würde eine Suche nach „ch“ immer noch „chat“ ergeben. Sie können auch word_middle und word_end verwenden. Für längeren Text unterstützt searchkick auch text_start, text_middle und text_end. Wo: Startzeit: {gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[:todate], '%m/%d/%Y')}. Es ermöglicht Benutzern die einfache Verwendung von Filtern in ihrer Anwendung. Wir wollten zwischen den Daten filtern und haben Starttime verwendet, um die Angebote zu finden Festlegen benutzerdefinierter Suchattribute Eine letzte tolle Funktion in searchkick ist die Methode search_data, die Sie Ihren Modellen hinzufügen können. Dadurch können Sie Attribute hinzufügen oder ersetzen, nach denen der Benutzer suchen kann. Auf diese Weise können Sie benutzerdefinierte Suchparameter erstellen oder eine Suche basierend auf den Assoziationen eines Modells durchführen. Unten finden Sie ein Beispiel für eine der von uns implementierten search_data-Methoden. def search_data       attributes.merge(         offer_request_name: offer_requests.map(&:name),        ) Ende Mehrere Indizes Durchsuchen Sie mehrere Indizes mit:
Searchkick.search „search_query“, index_name: [Angebot, OfferRequest]
Unser Ruby on Rails-Entwickler hier, um SchienenCarma Erstellen Sie nicht nur Anwendungen, sondern auch Phänomene. Mithilfe der futuristischen Techniken liefern sie brillante Anwendungen, entwerfen schöne und ansprechende UI/UX, entwickeln klare Frontends, erstellen skalierbare Anwendungen und verwalten sie in der Cloud. Kurz gesagt, unsere Ruby on Rails-Entwickler – „Give Life to Your Ideas“. Kommentar unten oder Kontaktiere uns im Falle einer Frage.
Katneni Naga Sai Tejaswi
Sr. Softwareentwickler

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman