Passa al contenuto principale

Opzioni Search Engine

Da v.1.1

Quando si configurano campi di tipo String, nella sezione "Other" della modale di configurazione è possibile impostare come questi campi verranno trattati ai fini della ricerca. Questa configurazione avviene tramite l'opzione "Search Engine". Le opzioni possibili sono:

  • Global Search Only: non sarà possibile effettuare ricerche direttamente su questo campo, ma il suo contenuto sarà ricercabile solo tramite la ricerca full-text globale.
  • Global and Field Search: sarà possibile cercare questo campo sia tramite la ricerca full-text globale, sia con ricerche mirate su questo campo.
  • Not indexed: questo campo non andrà ad alimentare il motore di ricerca, e quindi non influenzerà le ricerche.

Quando si seleziona "Global and Field Search" è possibile scegliere tra due ulteriori opzioni:

  • Exact Search: ad esempio, nel caso di codici prodotto o codici di altro tipo, si vuole cercare un valore con un match esatto. Indicato per stringhe di breve lunghezza che si vogliono trattare come identificativi.
  • Full-text: il campo verrà considerato come una serie di parole, e sarà possibile cercare tutte le parole presenti. Indicato per testi.

Impatti sulle Ricerche

Utilizzando l'opzione filters del Connettore, ecco come cercare i contenuti:

  • se il campo è configurato come "Global Search Only", l'unico modo per cercarlo sarà tramite campo virtuale text (o text_lang nel caso di campi multilingua):
{
filters: {
text: 'parola'
}
}
  • se il campo è configurato con "Global and Field Search", è possibile utilizzare, oltre a text, anche il nome del campo per ricerche mirate:
{
filters: {
name: 'parola'
}
}
  • nel'ultimo caso ("Not Indexed"), non c'è modo di cercare parole che appaiono in quel campo.

Quale Opzione Scegliere?

Di seguito una serie di considerazioni utili quando si effettua questo tipo di scelta.

Se un campo testo contiene informazioni non utili ai fini della ricerca, si consiglia l'opzione "Not Indexed", in modo da ridurre la dimensione dell'indice Solr e ridurre il "rumore" nelle ricerche, ovvero risultati non utili. Se ci si aspetta che il contenuto del campo di testo verrà cercato dagli utenti con una ricerca globale, senza quindi cercare esplicitamente in questo campo, allora "Global Search Only" è l'opzione da scegliere. Ci sono casi, infine, in cui l'applicazione deve presentare una ricerca esatta. Un caso tipico è quello dei codici (es. codice Prodotto, codice Ordine, etc.). In tal caso tipicamente nel frontend si presenta un campo per la ricerca esatta. In questo caso, conviene scegliere "Global and Field Search" con l'opzione "Exact Search". In questo modo è possibile passare, tramite chiamate dirette all'API o tramite connettore Javascript, una ricerca esatta nomeCampo = valore. Resta, infine, il caso in cui si vuole una ricerca di tipo full-text sullo specifico campo. Immaginiamo, ad esempio, che il campo corrisponda alla trama dei film. Se la vostra applicazione vuole permettere agli utenti di cercare solo nella trama (escludendo gli altri campi, come i titoli dei film), allora la combinazione da scegliere è "Global and Field Search" con l'opzione "Full-text".

Il consiglio finale è di usare l'opzione "Global and Field Search" solo quando strettamente necessaria, in quanto fa salire la dimensione dell'indice Solr che è limitato ad un totale di 1000 fields sommando tutti i campi dell'applicazione.

Si ricorda che, qualora cambino queste opzioni, è necessario reindicizzare tutti i contenuti del tipo in questione. Contattare Reply per farsi assistere per questo tipo di operazioni, soprattutto se il sistema è già in produzione.