Meilleur moyen de gérer les espaces dans un code produit

Bonjour !
Disons que j'ai un champ nommé "ProductCode", et 2 enregsitrements comme suit :
Record 1 : "ProductCode" : "DX128C" and Record 2 : "ProductCode" : "DX 129 D".
je cherche le meilleur moyen (ou le plus simple et efficace), de gérer des requêtes qui peuvent être "DX129D" / "DX 129 D" ou "DX128C" / "DX 128 C".

J'espère que j'ai été assez clair dans ma demande, l'objectif est de matcher les éléments avec ou sans espaces, parce que je ne sais pas si le client tapera son code avec ou sans. Est ce que je devrais utiliser plutôt un analyser particulier, utiliser le fuzzyness, ...
Désolé si c'est une question évidente, mais je suis relativement nouveau sur ES, il y à des notions encore floues, et j'aimerais ne pas perdre trop de temps dans la mauvaise direction !

Merci !
Tom

PS : je précise que j'ai d'autres champs dans mes recherches, et que certains nécessitent des espaces, donc j'aimerais quelque chose qui ne s'applique que sur le champ ProductCode, si possible :slight_smile:

Hi Tom,

I am very sure if I got your notion, but pls try the something like this:

"my_char_filter": {
"type": "pattern_replace",
"pattern": " ",
"replacement": ""
}}

This char_filter will ignore the spaces.

Best,
J

Hi Jai !

Thank you for your answer !
I'm not sure i'm able to use your solution, because I think it will affect my other fields search.
The finality is a little search engine, like my client wrotes (for him, it's just one field) : "red ABC 123 A", the solution returns the product with the field "color" : "red", and with the field "ProductCode" : "ABC123A".
Is it possible to set your filter in just one field ? Like I'm ok the engine can try "redabc123a" to search the ProductCode, but I don't want it can try "redabc123a" to match with the color field.

I'm sorry, I know I'm not express myself very clearly, I hope you understand what I mean

Hi Tom,

just use the analyzer in the field you want specifically, here productCode and not color, if you want I share links and syntax.

Best,
J

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.