Ninja Level Datafeed Optimalisatie met RegExp

    Ninja-Level-Datafeed-Optimalisatie-met-RegExp

    Als u DataFeedWatch al gebruikt heeft u misschien het woord "regexp" al opgemerkt in de opties voor toewijzing. In dit artikel leg ik uit hoe RegExp in onze app kan worden gebruikt, maar laten we eerst verduidelijken wat RegExp precies is.

    Een reguliere expressie (afgekort RegExp) is een speciale tekstreeks om een ​​zoekpatroon te beschrijven. U kunt reguliere expressies beschouwen als jokertekens, maar dan beter. U bent waarschijnlijk bekend met jokertekens zoals *.txt om alle tekstbestanden in een map te vinden. RegExp werkt volgens dezelfde principes, maar kan nog veel meer.

    Het kost wat oefening om RegExp onder de knie te krijgen, maar als u eenmaal weet hoe het werkt is het erg handig. Als u geïnteresseerd bent in reguliere expressies kan ik deze tutorial aanraden.

    Het is ook een goed idee om uw RegExp te testen voordat u deze implementeert. Er zijn veel online tools om dat te doen. De tool die ik gebruik heet Rebular.

    Laten we verder gaan met voorbeelden uit de praktijk om te zien hoe RegExp nuttig kan zijn als het gaat om feedoptimalisatie.

     

    Voorbeeld 1

    Stel dat u een veld 'kleur' wilt maken voor uw Google Shopping feed. U hebt geen veld voor kleur in uw winkel, maar u weet dat alle titels van uw producten eindigen op een kleurnaam (bijv. Adidas Heren Snova Glide 5 Hardloopschoenen Groen).

    De beste manier om met deze situatie om te gaan, is de kleur van de naam toe te wijzen en een vervangingsregel te gebruiken met RegExp:

     

    DataFeedWatch Regular Expression

    Het werkt als volgt:

    1. deel elke naam op in 2 groepen:
      groep 1 - alles behalve het laatste woord (.*) waarbij
      .* => staat voor elk teken dat een aantal keer voorkomt  groep 2 –laatste woord (s[^s]+) waarbij
      s => staat voor een spatie
      [^s]+ => elk teken zonder spaties dat tenminste eenmaal voorkomt
    2. Vervang de bestaande waarde die kan worden beschreven als (.*)(s[^s]+) met een nieuwe waarde in groep 2 (in RegExp taxonomie, geschreven als $2)

    Het resultaat voor “Adidas Heren Snova Glide 5 Hardloopschoenen Groen” is in dit geval “Groen”.

     

    Ontvang onze handleiding om uw Google Shopping Verkopen binnen een uur te  verdubbelen

     

    Voorbeeld 2

    Stel dat u een prijsveld maakt voor een kanaal dat 2 decimalen accepteert (bijvoorbeeld 12.45) en uw prijzen hebben er 4 (12.4500). Ook hier komt het vervangen van regels door RegExp van pas. Om het formaat aan te passen moeten we het als volgt instellen:

    DataFeedWatch RegExp

    Net als bij het volgende voorbeeld gebruikt u regels:

    1. deel de prijs op in 2 groepen:
      groep 1 – alles behalve de laatste 2 
      decimalen ([0-9]+.[0-9]{2})  waarbij
      [0-9]+ => een heel getal is
      . => een punt is
      ([0-9]{2} => een getal van 2 cijfers is groep 2 – de laatste twee
      decimalen ([0-9]{2})
    2. Vervang de bestaande waarde die kan worden beschreven als ([0-9]+.[0-9]{2})([0-9]{2})  met een nieuwe waarde in groep 1 ($1)

    De uitkomst van deze toewijzing voor 12.4500 is 12.45.

    Houd er rekening mee dat deze afbeelding de prijs niet naar twee decimalen afrondt, maar in plaats daarvan de laatste twee cijfers afkapt.

     

    Voorbeeld 3

    Stel dat u het product_type voor Google Shopping wilt instellen als hoofdcategorie van uw producten (bijvoorbeeld auto-onderdelen), maar in uw systeem hebt u alleen de hele categoriepaden (bijvoorbeeld auto-onderdelen > BMW > 320i > 2013).

    Wat u dan kunt doen, is alles beginnend met ">" verwijderen. De regel hiervoor ziet er als volgt uit:

    Data Feed Optimization with DataFeedWatch RegExp

    waarbij
    s>.* => een willekeurig teken is, gevolgd door een ">" gevolgd door een willekeurig teken dat een aantal keren voorkomt

    De uitkomst van deze toewijzing voor "auto-onderdelen> BMW> 320i> 2013" zou "auto-onderdelen" zijn.

     

    Voorbeeld 4

    Stel u voor het laatste voorbeeld een kanaal voor dat UPC's vereist, maar in uw systeem hebben niet alle producten UPC's en de UPC's die u hebt, hebben niet allemaal het juiste formaat (12 cijfers). Als u een feed verzendt met producten waarvoor de UPC's leeg of onjuist zijn, kan de hele feed worden geweigerd. Wat u moet doen, is die producten uitsluiten. Dit kunt u doen met een uitsluitingsregel met behulp van...  Juist, de RegExp.

    Data Feed Optimization with RegExp

    Wat we hier doen is alleen producten selecteren waarvoor de UPC een 12-cijferig getal is. Met andere woorden, alleen producten waarvan de UPC overeenkomt met RegExp ^[0-9]{12}$

    Dit zijn slechts enkele voorbeelden van hoe RegExp kan worden gebruikt. De vuistregel is dat wanneer er ingewikkelde toewijzingen worden gemaakt, de RegExp uw "wapen van keuze" moet zijn.

    Als u problemen hebt met de toewijzingen, beschrijf uw probleem dan in de comments en ik zal proberen een geschikte RegExp te vinden om het te verhelpen (indien mogelijk).

    New Call-to-action