Je suis nouveau à ES et de se demander si le search function aseptise le champ « requête » intérieure dans le paramètre du corps lors de la remise quelque chose comme:Elasticsearch-py désinfecte-t-il les requêtes?
"query": {
"filtered": {
"query": {
"match": {
"_all": {
"query": "[THIS PARAMETER]",
"operator": "and"
}
}
}
}
}
J'ai essayé toutes les entrées que je peux pour le briser et je peux ne semble pas. J'ai créé une fonction de désinfection mais cela conduisait à des résultats de recherche plus mauvais lors de la recherche de chaînes telles que "&" ou "+". J'ai regardé à travers le code et ne peux pas sembler trouver une désinfection évidente de ce champ. Je veux juste être sûr avant d'envoyer la requête de recherche d'un utilisateur à travers la fonction.
Merci
Ce champ de requête fait partie du corps JSON, pourquoi Python ferait-il quelque chose? –
Voici la source de ['search'] (https://github.com/elastic/elasticsearch-py/blob/master/elasticsearch/client/__init__.py#L453-L531) –
Parce que c'est une bibliothèque destinée à l'abstraction une grande partie de la fonctionnalité ES. J'ai pensé qu'il est possible que ce soit l'itération du dictionnaire et la désinfection des entrées connues, de la même manière qu'un ORM le fait pour se protéger contre l'injection SQL. –