Élastique requête DSL: les caractères génériques dans les conditions de filtre?
Je suis en train de filtrer les documents à l'aide de conditions de filtre. Je ne suis pas sûr de la façon d'introduire des caractères génériques dans le filtre. J'ai essayé quelque chose comme ceci:
"filter":{
"bool":{
"must":{
"terms":{
"wildcard" : {
"aircraft":[
"a380*"
]
}
}
}
}
}
Mais je reçois SearchParseException avec cette. Il n'y a pas moyen d'utiliser des caractères génériques dans les cadre du filtre?
vous interrogez ressemble préfixe de recherche. U peut utiliser ngram pour elle
OriginalL'auteur Mohitt | 2015-05-27
Vous devez vous connecter pour publier un commentaire.
La
terms
filtre ne prend pas en charge les caractères génériques, les requêtes n', cependant. Essayez cette requête à la placeOu si vous devez absolument utiliser des filtres, vous pouvez essayer le
regexp
filtre, trop:regexp
est un filtre sur son propre, différente de laterms
filtre.les requêtes sont exceptionnellement plus lent que les filtres. Je pense plutôt que les termes, je dois partir pour de multiples regexp en vertu d'un "devraient" par bloc.
Des requêtes et des filtres servent à des fins différentes, l'objectif principal de filtres est de réduire le nombre de documents qui doivent être examinées par la requête. Si l'usage principal de votre cas est autour de la recherche de texte, les requêtes sont le chemin à parcourir, mais assurez-vous de filtrer autant que vous le pouvez, de sorte que les requêtes exécutées sur aussi peu de documents que possible.
Oui. Je comprends que. En fait, ma demande n'est pas destiné à l'analyse de texte. Son utilisation presque structuré de données tabulaires. Je suis en train de faire une sorte de benchmarking de l'élastique avec splunk.
OriginalL'auteur Val