Search Kick Gem – För att göra din sökning intelligent på Rails-appen

Search kick Gem är en Ruby pärla som körs ovanpå Elasticsearch och gör det enkelt att göra sökningar på ett Rails-vänligt sätt. Dessutom låter den dig lägga till fler funktioner inklusive analyser, autoslutförande och personliga resultat. Searchkick inser vad dina användare söker efter. När fler individer jagar blir det mer briljant och resultaten förbättras. Det är välvilligt för designers – och övernaturligt för dina användare. Den hanterar härkomst, specialtecken, extra blanksteg, felstavningar, anpassade synonymer. För att komma igång, se till att du har Elasticsearch installerat på din hemdator. Beroende på ditt operativsystem är installationsprocessen något annorlunda och se till att du har minst Java 7. När du har gjort det, lägg till och installera searchick i din Rails-applikation genom att lägga till följande i din Gemfile och köra paketinstallationen.
pärla 'searchkick'
När du har både installerat och redo att köra måste du ange vilka modeller du kanske vill kunna söka igenom i din applikation. Lägg bara till searchkick i modellfilen för att få det att fungera. Sedan måste vi indexera om modellerna så att Elasticsearch kan köras korrekt. I din terminal, kör:
rake searchkick:reindex:all
Att söka med searchkick är helt enkelt. Kör i princip YourModel.search, följt av sökningens parametrar och eventuella filter som du vill lägga till. Till exempel finns en av mer komplexa sökningar nedan: @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], där: { starttid: { gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[: todate], '%m/%d/%Y') } } I den här sökningen tar vi sökfrågan från användaren med params[:search] och tittar igenom lektionerna med följande villkor: Paginering: Denna del av koden returnerar resultaten av sökningen till sidor om 10. Du kan ändra hur många listobjekt du behöver på varje sida med den här metoden. Detta fungerar med både will_paginate och kaminari. Beställa: order: {starttime: :desc}- Denna metod avgör i vilken ordning resultaten returneras. Genom att använda detta kan vi ändra resultatvisningen med stigande eller fallande ordning. I det här fallet returnerade vi de senaste resultaten först. Fält: [{offer_name: :word_start},{offer_request_name: :word_start} :price]- Med den här metoden tillät vi användare att söka efter erbjudandenamn, erbjudandetyp eller erbjudandepris. Word_start-metoden tillåter användare att bara skriva in den första delen av erbjudandets namn och fortfarande få erbjudandet i sökresultaten. Till exempel skulle en sökning på "ch" fortfarande avslöja "chatt". Du kan också använda word_middle och word_end. För längre text stöder searchkick även text_start, text_middle och text_end. Var: starttid: {gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[:todate], '%m/%d/%Y')}. Det tillåter användare att enkelt använda filter i sin applikation. Vi ville filtrera mellan datum vi använde starttid för att hitta erbjudandena Ställa in anpassade sökattribut En sista bra funktion i searchkick är metoden search_data som du kan lägga till i dina modeller. Detta gör att du kan lägga till eller ersätta attribut som användaren kan söka efter. Genom att göra detta kan du skapa anpassade sökparametrar eller söka baserat på associationerna till en modell. Nedan är ett exempel på en av search_data-metoderna vi implementerade. def sökdata       attributes.merge(         offer_request_name: offer_requests.map(&:name),        ) slutet Flera index Sök i flera index med:
Searchkick.search “search_query”, index_name: [Offer, OfferRequest]
Vår Ruby on Rails utvecklare här på RailsCarma skapar inte bara applikationer utan de skapar fenomen. Med hjälp av de futuristiska teknikerna levererar de briljanta applikationer, designar vackert och engagerande UI/UX, utvecklar tydliga gränssnitt, bygger skalbara applikationer och hanterar dem i molnet. Kort sagt, våra Ruby on Rails-utvecklare – "Ge liv åt dina idéer". Kommentera nedan eller Kontakta oss vid eventuella frågor.
Katneni Naga Sai Tejaswi
Sr. Mjukvaruutvecklare

Prenumerera för de senaste uppdateringarna

relaterade inlägg

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

sv_SESwedish