Kleiner Hinweis zuerst: Sie sollten immer Algolia in Verbindung mit einer Datenbank verwenden, eine Suchmaschine wird einen schlechten Job bei einigen Operationen, die Ihre Datenbank-Engine verarbeiten sollte.
Mit Algolia Facetten Ausgrenzung, es ist auf jeden Fall machbar:
Negationen werden unterstützt über den - Operator, der Facette Wert prefixing.
Zum Beispiel: encodeURIComponent('["category:Book","category:-Movie","author:John Doe"]')
Auszug aus der Dokumentation von facetFilters
Für Ihr Beispiel "Name" ist ein Teil von attributesForFaceting
, die Abfrage, die Sie tun mögen, unter der Annahme, ist einfach:
index.search('query', {
facetFilters: 'Name:-John'
})
Wenn Sie verwenden algoliasearch-helper-js
ist die zu verwendende Methode addExcludeRefinement
.
Schließlich ist es erwähnenswert, dass, wenn Ihr Attribut numerischen ist, Sie numericFilters
stattdessen verwenden sollten.
'obj.Persons.filter (person => person.Name! ==" John ")' – Thomas