Informativa sui cookie
Utilizziamo i cookie per analizzare il traffico del nostro sito e migliorare la Sua esperienza. Può accettare o rifiutare i cookie analitici.
Un installatore che digita «prescomanometer 1/2» vuole una cosa sola: l’articolo giusto, subito. Nello shop B2B di Omni-Term gli installatori cercano per codice articolo, codice fornitore, marca, descrizione o caratteristica tecnica, in un catalogo di molti produttori. Ecco come ho costruito questa funzione di ricerca.
La query viene prima analizzata. Se il codice riconosce un codice articolo o un codice fornitore, la ricerca passa direttamente alla corrispondenza esatta e con wildcard su quei campi, con il boost più alto. Se riconosce una marca, i prodotti di quella marca hanno la precedenza. Il resto sono termini normali, cercati contemporaneamente su più campi: la descrizione come keyword esatta, come testo analizzato e come edge n-gram per i prefissi, la descrizione del prodotto e la gerarchia, dalla categoria alla famiglia di prodotti. Cercando un vecchio codice articolo si ottiene anche il successore, grazie a un elenco annidato di predecessori.
Con più termini, la query richiede che tutti compaiano nello stesso prodotto. Se i risultati sono troppo pochi, la ricerca ripiega su una variante OR. Così l’utente ottiene precisione dove è possibile e completezza dove serve.
«Installatie» non deve corrispondere semplicemente a «installatiemateriaal». Per questo la query costruisce pattern di confine di parola: il termine all’inizio, alla fine o in mezzo a un campo, oppure dopo un trattino o un punto. Un interruttore stabilisce se sono ammesse corrispondenze all’interno di una parola; precisione e recall si possono così bilanciare caso per caso, come la tolleranza agli errori di battitura (fuzziness).
I pesi per campo, dal codice articolo esatto al livello di gerarchia, sono salvati come impostazioni nel database. Un piccolo strumento di amministrazione li mostra raggruppati, valida le modifiche e svuota la cache dell’API. Regolare il comportamento della ricerca richiede così minuti, non release.
ETIM è lo standard europeo di classificazione dei prodotti tecnici: ogni classe, come «pompa di circolazione», ha caratteristiche fisse con unità e valori. I dati ETIM dei produttori si trovano in un indice Elasticsearch dedicato con analizzatori n-gram e sono collegati tramite il GLN del produttore e il codice fornitore o il GTIN dell’articolo. Questo rende possibili due cose: l’installatore vede le caratteristiche tecniche di un articolo, e i risultati vengono raggruppati per classe ETIM come faccetta per affinare ulteriormente. Il collegamento avviene solo durante l’arricchimento dei risultati, così la ricerca di base resta veloce.
Cerca una funzione di ricerca migliore per il Suo shop online o il Suo catalogo? Mi contatti.