Recherche de génériques ne fonctionne pas dans Kibana
J'ai un champ "Alerte", qui contient une longue chaîne de caractères contenant des espaces, des chiffres et des caractères spéciaux. J'ai ce champ est défini sur "not_analyzed". En utilisant le caractère Générique de la requête que je puisse émettre une requête comme suit et obtenir les résultats que je veux.
POST /test-index-snort2/type-snort/_search
{
"query": {
"wildcard": {
"Alert": {
"value": "ET CNC*"
}
}
}
}
Je voudrais utiliser Kibana pour mettre en œuvre une recherche similaire. Ce faisant toutefois ne retourne pas de résultat. Ma requête dans Kibana s'affiche comme suit:
Alert:"ET CNC*"
Qui à son tour crée un query_string requête comme ceci:
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "Alert:\"ET CNC*\""
}
}
]
}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
Est-il possible d'obtenir les mêmes résultats Kibana via le query_string requête que je fais avec l'aide de la requête génériques?
Ici est la cartographie de l'Alerte de champ et d'un échantillon des entrées:
"Alert": {
"type": "string",
"index": "not_analyzed"
},
"Alert": "ET CNC Palevo Tracker Reported CnC Server TCP group 9 ",
"Alert": "ET CNC Palevo Tracker Reported CnC Server TCP group 10 ",
"Alert": "ET CNC Zeus Tracker Reported CnC Server TCP group 3 ",
Vous devez vous connecter pour publier un commentaire.
Grâce à polyfractal dans #elasticsearch, j'ai une réponse. Par défaut query_string sera minuscules générique d'entrée. Cela peut être désactivé par le biais de la lowercase_expanded_terms=false paramètre. Cependant, il n'y a aucun moyen de le régler dans les Kibana.
polyfractal m'ont recommandé la création d'un analyseur de minuscules ce contenu. Cela me permettra d'utiliser le query_string avec des caractères génériques, avec la limitation que la valeur de champ apparaissent en minuscules dans les résultats de facettes, mais le _source de conserver la mise en forme d'origine. Pour moi, cela fonctionne bien et est la solution, je suis aller de l'avant avec.
À l'exception de l'IRC:
httpUserAgent:*ozilla*
OU tout simplement*Mozilla*
. Les deux requêtes renvoient des résultats contenant "Mozilla", maishttpUserAgent:*Mozilla*
ne retourne rien. Pourquoi est-ce?query:queryString:options
, à laquelle j'ai ajouté"lowercase_expanded_terms": false
.Essayer
dans la barre de recherche.
vous obtiendrez le format attendu en query_string.
Sur une note connexe, j'ai été en mesure d'obtenir lowercase_expanded_terms dans kibana de travail avec ce changement:
Je ne vois pas ici la réponse la plus simple, celle-ci:
Si vous spécifiez
Alert:"ET CNC*"
dans Kibana la barre de recherche, en effet, elle ne vous donnera pas de résultat,MAIS
Si vous supprimez les guillemets, les caractères génériques des travaux de recherche dans le lucen champ filtre, trop.
Maintenant, bien sûr, dans votre cas, l'espace dans la requête de recherche est problématique, mais compte tenu de votre jeu de données
Alert: ET*CNC*
donnerait le même résultat.