Skip to main content
Jarvi draait een full-text zoekmachine over je gegevens. Namen, e-mailadressen, telefoonnummers, functietitels, vaardigheden en waarden van eigen velden zijn geïndexeerd, en _search bevraagt die indexen. Filteren met _ilike "%term%" doet iets heel anders: PostgreSQL loopt elk record in je werkruimte langs en vergelijkt het met het patroon. Op een productiebasis werd één enkele _ilike op een achternaam gemeten op 2,4 seconden; dezelfde zoekopdracht via de index antwoordt in enkele tientallen milliseconden.
_ilike, _like, _nilike en _nlike verdwijnen uit de publieke API op 31 juli 2027.Op de REST-endpoints hoef je niets te doen — _ilike-filters worden al voor je vertaald naar een geïndexeerde zoekopdracht, en het antwoord vertelt welk filter het jouwe verving. Via het /graphql-endpoint is de query van jou: die kan elke tabel aanspreken, dus je past hem zelf aan.

De operator gebruiken

Een filter neemt de naam van een zoekdoel en een term:
Combineer er meerdere met _and, _or en _not, zoals bij elk ander filter:

Querysyntaxis

De term is zelf een query, geen gewone tekenreeks:

Hele woorden, geen fragmenten

Namen worden woord voor woord geïndexeerd, vanaf het begin: Dupo vindt Dupont, upont niet. Hetzelfde geldt voor bedrijfs- en projectnamen. E-mailadressen en telefoonnummers zijn anders geïndexeerd en accepteren wél een fragment op elke plek: een nummer vind je via de laatste cijfers, een e-mailadres via het domein.

De filters, per resource

Alle onderstaande filters steunen op een index. Andere Hasura-kolommen en -relaties worden nog steeds geaccepteerd, maar zijn niet geoptimaliseerd en niet gegarandeerd.

Profiles

Companies

Projects

Deze lijsten worden gegenereerd door de zoekmachine zelf en komen dus altijd overeen met wat de API accepteert. Dezelfde definities worden als JSON Schema geserveerd door GET /openapi, onder ProfilesFilters, CompaniesFilters en ProjectsFilters.

Sorteren

De parameter orderBy van elk REST-endpoint koppelt één veld aan een richting:
Welke velden een resource accepteert staat in de documentatie van de parameter zelf, op de pagina van het endpoint. Sorteren op iets anders valt terug op de standaardvolgorde in plaats van te mislukken.

Zoeken via GraphQL

De query search geeft identificatoren en een totaal terug, die je daarna in een tweede aanroep ophaalt. Die opsplitsing in twee stappen houdt een zoekopdracht snel, hoe groot de records ook zijn:
resource is profiles, companies of projects. filters neemt hetzelfde object als de REST-parameter where.

Weg van _ilike

Een identificator of een URL is nooit een zoekopdracht: gebruik _eq, dat zijn eigen index gebruikt.
Mis je iets, of vind je een filter niet dat je verwachtte? Laat het ons weten — de lijst hierboven wordt door de motor aangestuurd, er een filter aan toevoegen is een kleine wijziging.