Supporto per la ricerca tra virgolette (frase, periodo)
SearchWP supporta le ricerche tra virgolette, a volte chiamate ricerche basate su frase o frase. Questo consente ai visitatori di aggiungere virgolette alle loro ricerche per forzare corrispondenze esatte per quella stringa tra virgolette.
Ad esempio, ricerca di tazze da caffè vs. "tazze da caffè"
Per abilitare questa funzionalità, spunta la casella appropriata nella scheda Impostazioni generali della pagina Impostazioni di SearchWP:
Quando abilitato, SearchWP controllerà le query di ricerca per termini racchiusi tra virgolette e tenterà di trovare corrispondenze esatte per la stringa tra virgolette. Facendo nuovamente riferimento all'esempio precedente di tazze da caffè vs. "tazze da caffè":
tazze da caffè- Nel seguente funzionamento di SearchWP SearchWP eseguirà prima una ricerca utilizzando la logica
AND, assicurando che tutti i termini di ricerca siano presenti. Se non vengono trovati risultati in quel passaggio, SearchWP tornerà automaticamente alla logicaOR. Questo comportamento può essere personalizzato utilizzando gli hook. "tazze da caffè"- Poiché la stringa di ricerca è racchiusa tra virgolette, SearchWP tenterà di trovare risultati che abbiano una corrispondenza esatta di
tazze da caffè(nota le avvertenze) durante l'esecuzione di una ricerca. Se non vengono trovati risultati con corrispondenze esatte, le virgolette verranno rimosse e la ricerca verrà eseguita nuovamente seguendo tale schema.
Note
Per natura, le ricerche tra virgolette restringono/affinano i risultati della ricerca. Questo può comportare l'assenza di risultati. Con SearchWP, se non vengono trovati risultati con una ricerca tra virgolette, l'algoritmo tornerà a eseguire la ricerca senza virgolette. Viene automaticamente visualizzato un avviso per indicare la modifica.
⚠️ È probabile che sia necessaria la personalizzazione dello stile (CSS) ⚠️
Lo screenshot sopra delinea l'output automatico in Twenty Nineteen, un tema WordPress predefinito. Il seguente CSS può essere aggiunto per migliorarne l'aspetto:
Nota: (Puoi aggiungere CSS personalizzato al tuo sito navigando su Aspetto > Personalizza > CSS aggiuntivo nella tua Bacheca WordPress)
| .searchwp-revised-search-notice { | |
| margin: 0 calc(10% + 60px) 1em; | |
| padding: 0.6em; | |
| background: #f7f7f7; | |
| border: 1px solid #e7e7e7; | |
| border-radius: 2px; | |
| } | |
| .searchwp-suggested-revision-query { | |
| font-style: italic; | |
| font-weight: bold; | |
| } |
Il che si traduce in una notifica che corrisponde meglio al design del sito:
Avvertenze
Ci sono alcune limitazioni da considerare quando si valuta l'implementazione della corrispondenza esatta di SearchWP. SearchWP è un sistema di ricerca basato su token, quindi per sua natura l'indice di SearchWP non contiene dettagli completi sulle corrispondenze esatte nel suo indice di ricerca. L'indicizzatore di SearchWP consente inoltre la personalizzazione dei contenuti durante l'indicizzazione, il che può ulteriormente oscurare le corrispondenze esatte in alcuni casi.
Di conseguenza, SearchWP non è in grado di trovare corrispondenze esatte nei seguenti casi:
- Contenuti generati da shortcode
- Metadati aggiuntivi (sebbene esista una soluzione)
- Contenuti modificati durante l'indicizzazione
A causa di queste limitazioni, il supporto per le ricerche tra virgolette di SearchWP è una funzionalità opt-in, che richiede di abilitare la funzionalità spuntando la casella nella scheda Avanzate della schermata delle impostazioni di SearchWP.
Soluzioni
Esistono alcuni modi limitati per aggirare le limitazioni del supporto per le ricerche tra virgolette di SearchWP, come descritto di seguito.
Soluzione per metadati aggiuntivi
Quando SearchWP indicizza metadati aggiuntivi, i dati vengono archiviati solo nell'indice di SearchWP, il che significa che l'unica registrazione dei dati è quella che è stata tokenizzata dall'indicizzatore.
Per evitare il problema per cui SearchWP non è in grado di de-tokenizzare il contenuto per eseguire query di corrispondenza esatta, è possibile personalizzare il proprio hook per effettuare una chiamata a update_post_meta che manterrà i dati e abiliterà il supporto per la ricerca di frasi tra virgolette per quel record.
NOTA: Per abilitare il supporto per la ricerca tra virgolette, dovrai aggiungere la meta_key che stai utilizzando ai Campi personalizzati di ogni Origine con cui stai lavorando. SearchWP utilizza esplicitamente queste chiavi durante l'esecuzione di questa azione.
Questo è un comportamento opt-in, poiché SearchWP memorizza i Metadati Extra solo nel proprio indice per mantenere al minimo l'utilizzo del database.




