React Elastic Search integratie voor een optimale zoekervaring
Dank je wel, ik ben Ibed, ik ben Simon, ik ben front of developer en Simon is back and developer. En wij gaan het vandaag hebben over Elasticsearch en Reject. En hier is even ook de producer interactie. Wie heeft er al ervaren met Elasticsearch in de homo? Oh. Ja, top. En wie had er ook al ervaring met Reject? Ja, het is niet erg. Oké, gewoon voor start eerst gaat Simon een introductie geven. Daarna ik een live demo, altijd een beetje lang is, dus praten we. Daarna gaat Simon het hebben over de backend gedeelte en daarna ik af en toe de deelte. Nou, Simon. Ja, dat is een beetje opgedeeld in de font en de backend verhaal. Nou ja, zoals je hier zit, ga ik kort ook even iets stellen over Yard. Die we zijn, waar we de website maken, waar we met WordPress. En ook over de uitdaging die we hadden en daarom met het zoeken. Ja, hoe we dat hebben opholst. Klein beetje informatie over hoe Elasticsearch werkt. Of wat informatie over hoe wij Elasticsearch met WordPress geïnteresseerd hebben. En hoe we een rejector-search gedaan hebben voor de volgende. Nou, Yard maakt websites voor organisaties met de maatschappelijke missie. En we doen dat voor 35 mensen en we doen dat in het verhaal van Elasticsearch. We maken websites voor onder andere 35 meters. We verzorgen welgeheidsinstellingen, verenigingen, wederorganisaties, en we hebben ook een heleboel kennisbanken. Ja, het wangwerk van het WordPress, vanwege de grote community uiteraard. Omdat het open source is, dus voor ons belangrijk. En de dashboard, en daarmee bedoel ik eigenlijk dat het... Ja, de dashboard is heel erkendbaar, het gebruik is een kwalitele oosten en moet werken. En de verrijkingtijd is uitblijbaar, dus dat maakt dat wij... Ja, ook ons hele eigen code er tegenaan kunnen bouwen. Het is uitblijbaar in de vorm van plug-ins. Maar ook de code is overigens dat het een uitbreiding hebt voor hoegs-acties en filters. Dus we kunnen overigens altijd nog tussen. Ja, het biedt de oostenmogelijkheid om in echt maatwerk-applicaties, en ook grote applicaties, te tegenaan te bouwen, terwijl de dashboard wil herkennen. Maar goed, we hebben het vandaag over het groot problemen dat wij een aantal jaren geleden hadden, en waarvan we ook van steeds weer gewandeld worden van... Ja, we lopen het toch tegenaan, dat is ook de resultaten die redewand genoemd zijn.  En er werd een aantal hoofdoorzaken die ik hier alvast even wil noemen. Zo wordt er heel slecht gezocht op de ene van de horen. Neem bijvoorbeeld werkzaamheid waarnaar tievel op staat met het titel Gov-afval. En dat Gov-afval is daar van elkaar. Dit komt uit een van onze VDF-meentvers. Gaat ze met dat informatie aanbieden. En als je dan zoekt op Gov-afval, maar je spijt in een station tussen Gov- en Afval, dan krijg je misschien dat artikel niet te vinden, want het word Gov- en Afval komt er wel hiervoor. Maar het is geen hele mesh. Ook zijn de resultaten die we terugkrijgen vaak niet... Ja, zo heel erg goed gerangt zich tot redervancie. Om even verder te gaan op het voorbeeld van net, wel, je hebt een nieuws artikel op dezelfde website en dat gaat over Gov-afval gebruik. Het is totaal een redervan als je zoekt op Gov-afval. Als jij Gov- en Afval met een station tussen hebt gezet, dan vind je wel dat artikel bovenaan. En misschien niet een artikel dat heel vaak Gov- en Afval in de contents van het richting staat. Dus de redervan, ze hadden ook veel problemen mee. Afval heeft ze nog niet meer. Dus zoek je op het buurlijk, dan vind je geen artikel over het trouwen. Zoek je op het trouwen, dan vind je geen artikel over het buurlijk. Geen verschillende behoortvormen, dus als jij je woorden in meervoud hebt, of in de enkelvoud, dan heb je geen rekening meer. Ook vervoegingen van werkwoorden. Als jij zoekt op rennen en er staat rennen in of gerennen, dan zou je dat artikel tot niet vinden. En tot slot toestaan van spelvouden. Dus iemand die de slecht is, maakt misschien één spelvouw, tot hij het verleden is om. In ieder geval er worden eigenlijk niet de resultaten op de grond die we wilden laten zien. Dan hadden we nog een aantal dingen die we daar ook meteen wilden oplossen. Dus waar we rekening hebben, daar houden we bij een paar over de oplossing. Dat is dat we wilden dat de zoekregen van zich te sturen is. En dat het per site, dus per geneemde of per andere klant, makkelijk in te stellen is. Dat we bijvoorbeeld zonder klanten zijn, maar gewoon bij het in de nieuwsbegeving ook langheid. En we willen graag die hoge resultaten gegeven komen.  Dus kunnen die ietsje meer gebroest worden. Kunnen die wat meer verwanderd gemaakt worden. De bezoekervaring is ook niet gewoon voorheen hadden. Dus de bezoeker detecteerde dan een zoekterreindruk door rennen en dan moest de praat gaan herraden. Dus ook dat wilde we meer. We wilde zoeken of er meteen die resultaten niet hebben. En als laatste punt wilde we ervoor zorgen dat we in meerdere woningen zoeken. We hebben meerdere websites die niet alleen in hetzelfde zoeken, maar ook in andere websites zoeken. Dus we moeten een manier vinden om artikelen die niet op ons eigen website te zonden in onze zoekentier zien te krijgen. Dan gaan we nu kort even laten zien wat het eindgesloten is geworden van dit werk. En dan gaan we daarna laten zien en vertuiden hoe we dat gepaard hebben. Voor jullie zie je nu de nieuwe website van de gemeente Wauwingsvening.nl. Dat is dus nu nog vrij volgens mij live. We hebben de design en de technische implementatie programma. En dan wens je gelijk te zien dat de zoekervorming in het beeld is gevacht en dat we moeten op de zoekervorming gemeentes extra belangrijk is. We hebben wel artikelen, verbruikers en veel diensten, veel nieuwsbegegingen, ook allemaal uit de stunde volgen. Stel je dat een rijkwijze aanvraag en je zou een zoekervorming hebben. En dat zou dan toch ook niet in de topdaken staan. Dan zou je er wel eerst met je gekregen in informatie moeten gaan. Zoeken waar je moet zijn, prijzen, documenten. Dan vervolgens als je hier komt, moet je ook weer een keuze maken. Dus designers zijn eigenlijk uitgegaan van dat zoeken het nieuwe navigerede is. Dus hier heb je een input dat, die in de project is gemaakt. En dan wens je even met de rest of search in de beesten achter. Ik had laten zien hoe het werkt. Zodat we wel rijkwijze aanvragen, moet ik je hier op adrehenbelevings aanvragen. Je ziet dus direct een actus die resultaten van de search krijgt. Dan heb je gelijk de titel en ook de broodwaard uitgoopt. Als je wat kreekt, dan ga je gelijk naar wat producten toe. Dan gaan we even naar de search preview. Zo, het is dus de zoekwaging en het is ook een volledig project. Dan doen we een aantal interessante functionaliteiten in. Hier aan de rijkwachter hebben we het zoekwad.  Die heeft dus afgeleden die we al hebben daarin opgelost. Dus we hebben bijvoorbeeld een geduldelijke wordmage. Dus als je bijvoorbeeld op de rijn rijn bezoekt. Je ziet ook gelijk de rijnlijst dat het aangevuld. Svelfwaten zijn er ook dus ondakelijke rijbewezen. Dat is de zet van de rijnlijst met S. Dat is ook zo'n professiesortje in. Denk eens, ja. Ook zie je dat niemand wordt opgepakt. Zoals ik op het zelden ben, bezoek. Dan wordt ook behoorlijk meegegeven in de zoekwadskaten. En ook de verschillende wordvormen zit erin. Dus als ik voelde aanvraag, zoek dan... Toen ik die ook aanvraag. Dus dat is functionale visie-search. Hierin acties mag de bestelende werken worden vormen. Er stond meestal een zakenering uitgelegd. Wat wil je nu doen? Dat is ook het enige, want ik weet vraag niet wat het wordt. Ik wens ook nog de zet van de bronnen. Aantal is eigenlijk van het CNS van de kuning zelf. Ik kom in de islaatse zelf. En andere zijn hier extern. Dus ik voelde ook de genhakingen. Als ik op de kuning ga, dan ga je naar het CNS van de kuning zelf. Ik voel het terug, maar ook... Wat wijzer is een externe bron... ...die dus niet van door ons onderhouden worden. En dus kunnen we... Inhensen en actief brengen van de andere bronnen. We willen gewoon een e-gly of zoals gestreekt. Dat we het elke dag bijhangen. Ga je terug. Eerst gaat Simon iets vertellen over wat NSXS is... ...en hoe het begint te geven. Daar ga ik verder met hoe bezoekers... ...op zo'n Feyenoord op de webstation uitvoeren. Je ziet hier bij de front dat het aan de CNS-zaamkamer staat. Daar hadden de Javaskup ook zeker bij moeten staan. Dat is veel wat de grondkamer staat voor... ...over de infiltratie van Javaskup en dan daar een react. Dan heeft er een aantal voordelen van de NSXS. Het is ook een source. Het is heel erg schaalbaar. Als je een kleine webstation kan beginnen... ...doet je een paar artikelen in... ...en op het moment dat je groeit, dan groeit de NSXS zo goed met je mee. Dat werkt zo dat je verschillende installaties kan hebben... ...en die zo'n contract wordt verdeeld over verschillende installaties. Op het moment dat je zelf wordt gekrijgd... ...en dan wordt de kleine kope erin bij... ...en dan gaat het verdedigd. Dat zit al erg ingebouwd.  We gaan verder in de kaartje niet heel veel opeen uit... ...zoals ik een voordel van de rest is. Het is ook heel veel kaartvervriendelijk. De documentatie is heel goed te lezen... ...en alles aangebreken van de NSXS... ...hoewel je ophoudt van rest. Wat voor ons belangrijk is... ...vandaar dat ik hem dus wel vanuit de backend... ...bij de p-code aangebreken... ...aan de vond en de Javaskup. Het is heel performant. Eén van de reden dat het zo snel is... ...is dat je de zoekopdrachten zo goed kunt verdelen... ...over verschillende installaties. Je kunt dus meer zoekopdrachten tegelijk uitvoegen. En je kunt hele complexe zoekopdrachten... ...samenstellen. En hier kun je uiteraard ook heel ver ingaan... ...en dan op een gegeven moment wordt de leerkurve ook... ...op dat zijde. Daar konden we uiteindelijk nog even op terug. Alweer als de Evil Search... ...je zoekt een bezoeker kritiek iets in... ...op de pagina... ...en de bezoek gaat naar de applicatie... ...in dit geval WordPress... ...en WordPress maakt een SQL-perie... ...van de WB-perie... ...en haalt dat die op uit de data is. En de WordPress stond volgens de resultaten... ...naar dat de pagina er later is aan de eind gekregen. Nou, we gaan de Lessed Search installeren... ...en we installeren de Lessed Search... ...zelf bij onze houtenpartij... ...en we hebben daar heel aantal servers... ...dus we konden daar ook makkelijk... ...een Lessed Search server bij afnemen. Er zijn ook andere opties... ...de Lessed Search server zelf... ...hoogste de opties. Er is ook nog een plug-in... ...in Lessed Express... ...en die plug-in konden we straks wel even op terug... ...omdat die zelf ook hebben getraagd... ...in de oplosser die we gemaakt hebben. En die biedt ook de hoogste de opties aan. Dus... ...maar wij hebben het... ...zelf aan te installeren. Ja, in dit geval... ...we hebben bijgenomen van altijd... ...movellaren zoals altijd... ...om dit SQL... ...maar op het moment dat je een zoek weer doet... ...dan wordt de zoekopdracht... ...door de applicatie... ...die draagt van naar SQL... ...maar wordt ook een... ...zoekopdracht... ...voor een Lessed Search... ...gemaakt. Die wordt over de rest gestuurd... ...naar Lessed Search... ...en daar krijg je... ...naar lijf met resultaten... ...tug die ook een score meer hebben. Dus je kan meteen... ...naar de score... ...bezien welke... ...esultaten... ...meest keder van zijn. Ja, gewoon dat je een... ...artikel uit de Lessed Search... ...kunn het halen... ...natuurlijk...  ...dat je er wel eerst... ...in de Lessed Search... ...staan. En daarvan moeten de posts... ...die in je... ...die in je... ...dat proces wordt kopiëerd... ...dan moeten we in de Lessed Search indexeren. En... ...naar... ...dat moet één maanden gebeuren aan het begin... ...dus je wilt alles... ...in de rest... ...in de search hebben... ...en... ...dat is een... ...dat duurt even... ...dat trapt je af... ...en dat het helemaal niet is te traken. En... ...vervolgens... ...waar je in de post... ...bewerkt wordt... ...in de WordPress... ...en dus... ...daar de deze verandering komt... ...moet die... ...wijziging ook... ...worden doorgevoerd... ...in de Lessed Search. ...die voorbereidigd wordt... ...moet het ook doorgegeven worden. Dus... ...het heet best wel even wat... ...je moet best wel op een aantal plekken... ...om bij WordPress inhaken... ...op... ...update... ...save... ...de lead post hoeft... ...om... ...om dat allemaal in zin te houden. En... ...de plugin... ...the Lessed Press... ...die bij de zogebruike... ...deel van de opdracht... ...die neekt daar... ...een heel deel... ...voor ons... ...voor uitgaan. Dus die... ...die reed je voor de heel deel van... ...dat... ...sigalisatie proces. Ja, in de Lessed Search... ...je kunt... ...everen voel je... ...en de reed uitgaan. Ja, dit is het vooral bedoelend... ...zoals je je data structureerde... ...en dan bereerd maken... ...ie kunt bijvoorbeeld... ...een index maken per poortestruim... ...maar je kunt ook... ...een index maken... ...per dron. Dat hebben wij gedaan... ...omdat we... ...en 18 manier eigenlijk... ...al die verschillende dron... ...maar we in de inzoek... ...een beetje bereerd bij houden... ...we kunnen met één index... ...zetgooien en andere breiken strouden... ...we kunnen de ene index ook... ...nieuw indexerigen... ...en een index of... ...een index... Op het moment dat je zoekt, dan kun je een search query die je altijd ook over meerlijke indexen tegrijp uitvoeren. Dus je kunt het daar verder geen omkijken meer aan. Het is wel belangrijk dat de documenten die dan in LSDx's staan, dat die dezelfde vormatting hebben. Dus dat de kies van de documenten in LSDx's overeen komen. Daardoor kun je over meer indexen te vrijzetten. Ja, om even een voorbeeld te laten zien van hoe het eruit komt te zien dat het in LSDx's staat. En dan hebben we het even over een wordpress post die naar LSDx's is gestuurd. Bovenaan zie je de index. Een indexname die mezelf een zon hebben voor de gemeente Alkmaar.  Je hebt al een structiefix met Alk, zodat we die index allemaal met elkaar hebben. En dit is dan voor productie. LSDx heeft een ID alleen. En alle attributen van de post die staan onder de source uitgelijkt. Het ID je kunt overgen met de post ID in wordpress. De title met post title. Nou, zo kun je zien dat die eerste aantal kies eigenlijk overeen komen met die van de wordpress te hebben. Maar ze heen het hier net anders en dat is ook weer om te zorgen dat uniformen en benamingen hebben. Zoeken we over verschillende bronnen. En dan hebben we er zelf een aantal aantal kies aan toegevoegd. Je zit hier bijvoorbeeld in exploration. Op het moment dat het artikel, een nieuwsartikel bijvoorbeeld, belopen is. Dan zullen we mij zoeken voor dat die niet in de zoekresultaten getreft komt. En dan zie je nog meta en terms staan. De meta hebben een FAQ toegevoegd, als voorbeeld. En bij terms hebben we een show on property. Waarmee je kunt zeggen dat het in deze sub-site worden gedragd wordt in de zoekresultaten over een andere sub-site. Dat toegevoegen van terms en meta hebben heel invaule gemaakt. En dat ga ik zo bij je zien zodat je altijd data kunt toegevoegen aanzet. En kan zorgen dat het artikel daar ook op gevonden kan worden. Ik ga even iets meer vertellen over hoe de zoeken werkt in de lessen-search. En dan de name text-velden. Want dat is het eindelijk waar lessen-search echt goed doet. Op het moment dat je zoekt op een text-veld, dan wordt de text wel eerst analyseerd. En dat gebeurt in twee fases. De eerste fase is de tokenisering en de tweede fase is de dramatisering. Tijdens de tokenisatie wordt elke zin die lessen-search bestuurd wordt opgehakt in onze tokensvoren. Dus stel je uit een artikel met het titel Rijnbewijs Aanvraag of Vernieuwer, dan wordt het opgehakt in Rijnbewijs Aanvraag of Vernieuwer. En dat heeft eigenlijk meteen al als voordeel, dat je op dat moment dit artikel niet alleen kunt vinden door te zoeken op Rijnbewijs Aanvraag, maar je kunt er ook zoeken op Rijnbewijs Vernieuwer. Vernieuwer Rijnbewijs. Aanvraag Rijnbewijs. Dus de volgorde maakt dan niet meer uit. In de tweede deel van het proces wordt het renormaliseerd. En daarbij worden alle tokens ondervangend van elkaar renormaliseerd. Een aantal dingen gebeuren. De hoofdletters worden tijdenwetters.  Alle woorden worden in hun standvorm neergezet, dus alle werkwoorden worden naar een standvorm renormaliseerd. Dus Aanvraag wordt aanvraag vernieuw over vernieuw. En stopwoorden worden uitgehaald. En zoeken op de woord of. En dus weeg het alleen maar ruis op. En dat is hier ook een woordje vervangen. En dat is een signalling voor het vernieuwen. Dat gaat door de kant voor het toegevoegd. Dus die kan zelfs ook bij deze berichten. Dan wil ik ook dat het gevonden wordt op deze en deze en deze. Dat is even... Ja, en kort hoe dat werkt. We gaan nu verder naar hoe wij het zelf geïnplenteerd hebben. En waarom wij dingen aan de regeling mee moesten hebben. En we moesten er naar kijken dat het een beetje schaalbaar was. Dus elke keer dat wij LSC search in een nieuwe site instilleren. Dat willen we in een situatie die eigenlijk zo snel omhoog moet doen. Dus we hebben daarna maar ook een eigen teruging gemaakt. Ja, hier is de LSC-presidenten terug in. Ik zou zeker hier naar kijken. Als je wil gaan beginnen met LSC search. Er zijn dus ook wel index-opties als zoekopties. Dus je kunt het ook helemaal met LSC search toepassen. Wij hebben er dan dus alleen gebruik gemaakt van de opties voor het indexeren. Nou, dan hebben we onze eigen jaren-to-LSC-search-plutting gemaakt. En dan kun je zien dat er een soort extensie voor LSC-pres en er voelt een aantal settings to-boven op de LSC-pres. Je kunt eigenlijk zien dat zo'n abstractie boven op de LSC-pres waarin wij snel onze eigen settings kunnen toevoegen. Nou, zo zit die er dan uit. Die plug-in, en je ziet dat er een aantal opties hebben. We geven dus een prefix mee waarin we de indexen kunnen prefixen. Je kunt in elke site kiezen of je het wilt indexeren of dat je ook in deze site wilt zoeken. En je kunt hier indexeren aan postingsafdelingen. Je kunt eigenlijk in een keer afdelen van deze postingsafdeling doorzocht kunnen hebben en andere postingsafdelingen niet doorzocht kunnen hebben. Hier is de optie om taxonomisch metertel toe te voegen. Je kunt dus, ja, op de klikken kun je vanuit. Ik wil deze termische of devetrugs en deze meta's doorzoekbaar hebben. En voor meta's heb je die zaal dan dat je gewoon de meta team moet doen.  We kunnen aantal posts uitsluiten, bijvoorbeeld de basis van wat ik eerder zei, de verloopdaten. Het is ook mogelijk een post uitsluiten op basis van de post-metertal. Dus hier bijvoorbeeld een checkbox gemaakt voor zonder gebagen die ze niet gezocht, niet vervonden willen hebben en dan kunnen ze afdelen van sluiten deze uit om ze ergens te praten. Ook hebben er een aantal optieken en die zijn alleen voor intentie gebruikt. Dus ze willen er niet doorzocht kunnen worden. Dat is op basis van de taxonomie type. En als die optieken staat, willen ze er ook uitvullen. Dus dat zijn nog aantal optieken die daar niet doen. En dan hebben we de zoeksettings. Deze zoeksettings gaan niet naar les, maar die gaan naar de frontend. Die worden meegegeven in een groep al jaren. Dat is een project zodat ze in reactie beschikbaar gaan. En dat is waar ze worden overgenomen door het deel dat het niet zo gaat te praten. Wat wordt meegegeven aan de frontend? De eerste index waar je zo gezocht moet gaan worden. Dus dat zijn deze vijf. Voor deze zijn dat de vijf. Er worden een aantal filters meegegeven. En het is daarmee mogelijk om eigenlijk op elk veld dat in de lesingsus staat hier aan te geven en een veld op te platen. Dus in dit geval hebben we een beetje zin met linkerplaatjes. Maar je ziet hier bijvoorbeeld dat we in de lesingsus hebben allemaal 12 terms. Tenen maar. En doordat die erin te zetten krijg je dan automatisch op die filters te zien. Je kunt die filters als het erop aantouwen op de achtergrond. En tot slot hebben we de boosters. Het is mogelijk om een bepaalde feld dat niet heeft een booster dan andere. Nou, in deze setting zou je gezegd dat ze heel veel omhouden. Dat hebben we echt op sinuline. Omdat ze merken van als wij zelf al geboren toevoegen aan de sinuline, dan vinden we dat zo belangrijk dat ik zelf zo hoge mag even aan de dak. Een titel van de samenleving. Ja, uiteindelijk krijg je dan dit. Ja, we hebben dus hier juist die lesingsusplugging en daarmee voelen we wat van settings door naar lesingspress. Die lesingspress gaat uiteindelijk geïlectoreren.  En een ander deel van de settings sturen we naar de mbm-plek in het jaren die je kunt sturen waarna die vest van jou op gaat vertrekken. En dan gaan we naar het frontend gedeelte. Oké. Nou, we hebben hier dus een sq.c. dat we eerst graag gezet met z'n index met heel veel documenten erin. Ik kan de zoekeren die ze op ons laten en dat is echt lekker. En we gaan de zoekers dat terugprijven. Ja, we willen echt de zoekers daar een hele fijne ervaring en een hele bezoek ervaring mee had. We hadden eerst wat customs in de PAP gebouwd dat je een zoekrad hebt en wat checkboxes dat je natuurlijk ook mag klikken en dan moet je de post op het best gedaan en dan moet je de pagina herladen. Het werkt anderwel maar het was niet de meest ideale oplossing die je hier wilde hebben. Dus toen zijn we gaan rondkijken naar wat van oplossingen zijn er. En we hadden een paar eisen die moest geïntergeerd worden met worknals. We moesten de functionaliteiten en de design moesten kunnen aanbassen. Opsorge moesten zijn. We moesten community achterzitten dat er veel nodig had gepleegd en voor ons moesten we ook een fijne delivery experience achterzitten en deze delivery schools hebben ervaring met react dus zijn we dan snel naar react te gaan. En we hebben gekozen voor Reactive Search. Het is een UI Components Library. Het is Opsorge en het heeft realtime sufficiently tijd. We hadden succesende componenten. Dat kan wel eens een date wikker. Je hebt zoeken. Je hebt sliders. En dan kan je ook snel een oplekse zoekpagina maken. Ik vind het heel fijn de delivery experience hebben. Je hebt niet echt diepe gaande kennis nodig over elastic search of the query taal om er zo'n pagina van te maken. Maar die mogelijkheid is er wel wel. En het is geweldig mooi eens heen. Hoe het dan is opgevaald. Je begint met Reactive Base wrapper. Daarin maak je connectie met elastic search database. Dus je moet u er al mee geven de indexes waar je in wilt zoeken maar ook even wat actualisatie natuurlijk. En dan verder zijn alle componenten die worden, die reacteren met elkaar. Er zijn ze samen met elkaar in contact. Dus je hebt de zoekcomponent van de riverkant. Dan heb je verder de filters aan de riverkant.  De result count stel je zoek in het zoekveld dan veranderd alles mee. We zagen een paar problemen. Namelijk hebben we in ieder geval vijfzintig gemeten waar je in wilt search implementeren. Dat er veel publicatie van code in. Ook is meer in de gemeten, meer in de code cases, dan is onderhapen laststel. Je moet ook alle andere gemeten af. En ook qua consistentie is het belangrijk. Er is een nieuwe gemeente die project-to-reactor-search in te zetten. Dat is de laatste versie van react-to-search. En dan gaat code uit elkaar. Ook uit elkaar gemeten wil je niet. Dus we moeten zoekomponenten lang komen. De keuze ging voor de code-centraal te beheren in de private package. En eigenlijk is het meteen erom alle react-to-search-componenten. We hebben zelf de contract en de voorleger wat we hebben gehaald. Het is een FU-inproject of JAR-inproject. En vervolgens als je de super-esinditaat vragen wil hebben, dan hebben we één grote deal gemaakt met search-page. Dat ziet er parcona even heel erg circuitiseert zo uit. Je haalt de base uit de package en de search-page of the view die je wilt, of the widget. Het is aan de base. Geef je de indexes mee die je mee wilt hebben en die is code uit de plug-in van Simon. Waar je het in je query kan inverlopen. Nu je haalt, dus dat is de search-lister. Je wilt connecten. En dan vervolgens heb je een search-page die je de boes neemt die je ook in de interface maakt en de datavield zijn de filter aan de andere kant. En het vervolgens heb je het component in het weer doen. Dus zo simpel is het eigenlijk om de hele zoekpagina in je project neer te zetten. Naast de zoekpagina's hebben we ook de widgets natuurlijk, zoals de search input op de homepage. De zoekbalk is ook gewoon een project component die je in naast vanuit de package. Maar we hebben ook al kleine componenten misschien maar gesteld, dus wel je hebt een gemeente die compleet aflijkt tijdens de zijn van de bits die we al gemaakt hebben geweest ook in je eigen project nog dezelfde search-pagina of een search input maakt. Zelfs wat het is, is een container om een web-research. We hebben ons eigen UI-laag mee door meegemaakt en het heeft de hele mogelijkheid opzet. En het heeft ons op een paard geholpen.  Namelijk ons, de nereen in de interface en de developers. Je kan een gemakkelijke componenten wijzen en je kan je je opzoeken en je kan het wel meegeven als pop en dan wordt het in tijd om te doorgepast door de pop-reding of opdanks de juiste componenten of je je verder niet over na te geven. En ook bijvoorbeeld op de site in de middel van we zijn ook een zet-1, ons team daarin zit je het daar ook of je in je boers je bedeningsmarchins al hier. En we hebben alle componenten op die website en gewoon dezelfde site. En dit zorgt ook voor integratie met andere design-systems zoals het NL design-system maar ook als je voor meer de installatie zet van wall-in-sv sub-sites of losse installaties waar je in de site ook eens in de pak een hard-to-package zet en natuurlijk kan je je design-tokens betaal heren en toch wel op de meerere websites onze site houden. En voor de andere componenten kan je ook de checks inbouwen van oké heeft deze kleuren een nieuwe contrast dus daar zit ook een films even in. 