FAQ » Wie kann ich die Suche nach Artikelnummern mit und ohne Leerzeichen optimieren?

Wie kann ich die Suche nach Artikelnummern mit und ohne Leerzeichen optimieren?

Es kommt vor das Artikelnummern Leerzeichen enthalten, die dazu führen, dass die Suche nach einer bestimmten Nummer nicht erfolgreich ist. Zur Optimierung kopieren wir die Artikelnummern (mpn) in ein weiteres Feld Namens „search_mpn_whitespace“ und wenden darauf einen anderen Analyzer an, mit einem speziellen Filter, der die Leerzeichen entfernt. Anschließend muss das neue Feld mit in den Suchoptionen aufgenommen werden.

OpenSearch (ehemals ElasticSearch)

Über das OpenSearch Mapping kann das Verhalten der Suche im Onlineshop angepasst werden. Die Anpassungen müssen in den „settings“ und „properties“ der OpenSearch Mapping Datei im JSON Format vorgenommen werden.

Siehe auch:

„Bitte nehmen Sie nur Änderungen vor, wenn Sie mit der Technik vertraut sind! Falsche Einstellungen können zum Datenverlust führen.“

Auslieferungszustand

Im Auslieferungszustand sehen die „settings“ im OpenSearch Mapping wie folgt aus:

   "settings":{
      "analysis":{
         "filter":{
            "shingle":{
               "type":"shingle",
               "min_shingle_size":2,
               "max_shingle_size":3
            }
         },
         "analyzer":{
            "trigram":{
               "type":"custom",
               "tokenizer":"standard",
               "filter":[
                  "lowercase",
                  "shingle"
               ]
            }
         }
      }
   }

Weiteren Filter und Analyzer in den Settings erstellen

Die Suche im Onlineshop erfolgt über verschiedene Datenfelder, die alle auf den Analyzer „trigram“ verweisen. Wir erstellen einen weiteren Analyzer Eintrag namens „no_spaces_analyzer“ und einen passenden Filter den wir „remove_spaces“ nennen.

"settings":{
      "analysis":{
         "filter":{
            "shingle":{
               "type":"shingle",
               "min_shingle_size":2,
               "max_shingle_size":3
            },
            "remove_spaces":{
               "type":"pattern_replace",
               "pattern":"\\s+",
               "replacement":""
            }
         },
         "analyzer":{
            "trigram":{
               "type":"custom",
               "tokenizer":"standard",
               "filter":[
                  "lowercase",
                  "shingle"
               ]
            },
            "no_spaces_analyzer":{
               "type":"custom",
               "tokenizer":"standard",
               "filter":[
                  "lowercase",
                  "remove_spaces"
               ]
            }
         }
      }
   }

Artikelnummern kopieren und Analyzer zuweisen

Wir legen zusätzliches Feld Namens „search_no_spaces“ unterhalb der „properties“ an um verweisen auf den neuen Analyzer.  

        ...        
         "search_no_spaces":{
            "type":"text",
            "analyzer":"no_spaces_analyzer",
            "fields":{
               "trigram":{
                  "type":"text",
                  "analyzer":"trigram"
               }
            }
         },
        ...

Die Artikelnummern in den Produktdatensätzen liegen im Feld „item_mpn_boxss“. Unterhalb von „copy_to“ tragen wir das neue Feld „search_no_spaces“ ein, dadurch stehen die Artikelnummern als zusätzliche Kopie ohne Leerzeichen zur Verfügung.

        ...        
               "item_mpn_boxss":{
                  "type":"keyword",
                  "copy_to":[
                     "search_mpn",
                     "search_all_fields",
                     "search_no_spaces"
                  ],
                  "fields":{
                     "keyword":{
                        "type":"keyword"
                     }
                  }
               },
        ...

Suchoptionen erweitern

In den Suchoptionen erweitern unter den Query-Optionen die „Multi-match: Felder“ um das neue Feld „search_no_spaces“, damit es zukünftig bei den Suchanfragen berücksichtigt wird.

Auch in den „Fuzziness multi-match: Felder“ und „Suchbegriff-Vorschläge von Feldern“ kann das neue Feld eingetragen werden.

Siehe:

OpenSearch zurücksetzen

Damit die Änderungen aktiv werden, muss Ihr ERP-System angewiesen werden, den Index im OpenSearch zu löschen und mit den Einstellungen aus der geänderten OpenSearch Mapping Datei neu aufzubauen (OpenSearch zurücksetzen).

Siehe:

Inhalt

Hilfecenter: