Bonjour à tous,
Je cherche depuis plusieurs jours un moyen de rechercher plusieurs mots dans un fichier JSON.
Pour le moment j’arrive à rechercher 1 mot ou plusieurs, mais ils sont indépendants.
Par exemple : quand je tape « Maison » et « Voiture », il me trouve tout ce qui contient « Maison » OU « Voiture » et « Maison » ET « Voiture ». Moi je voudrais qu’il me trouve uniquement « Maison » ET « Voiture ».
J’ai essayé avec des « .filter » mais ça donne rien que je sache exploiter.
Pour le moment j’ai une boucle qui parcours mon fichier Json et qui me trouve le mot recherché, mais pas plusieurs mots en relation entre eux.
Pour le moment :
Je décompose en tableau mes mots de recherche avec une fonction du genre : searchSample.components. Qui me donne un array.
Ensuite, je peux chercher en utilisants : if variable.contains(array) { print (result) }
mais j’ai une erreur : « Cannot convert value of type ‹ [String] › to expected argument type ‹ String.Element › (aka ‹ Character ›) »
Je comprends qu’il ne peut rechercher les termes dans l’array et attend un résultat type String.
Comment faire pour faire une boucle qui recherche plusieurs mots-clefs, contenu dans un array (en supposant que je ne sais pas si l’utilisateur va recherche 1, 2, 3 mots ou plus…). Je bloque sur ce raisonnement.
Je vous remercie d’avance pour vos éventuels idées. J’ai regardé sur le net, mais j’ai rien trouvé qui correspondait à ce que je demandais. On peut bien rechercher plusieurs termes?
Pour information en PHP, j’avais trouvé une solution comme ceci :
for($i = 1; $i < count($aSearch); $i++) {
if(!empty($aSearch[$i])) {
$query .= " AND texte LIKE ‹ %" . $aSearch[$i] . "% ›";
}