Nascondere i risultati XX trovati con l'IA - abilitato per impostazione predefinita

Sto sperimentando l’uso dell’IA sul nostro forum di discussione e finora è molto buono (ottimo lavoro ragazzi), sta davvero tenendo conto dell’intento dell’utente e fornisce risultati molto pertinenti.

Il problema che vedo è che i risultati sono nascosti per impostazione predefinita

Non riesco a trovare alcuna impostazione per abilitarla per impostazione predefinita, come fa l’amministratore? Il vero potere è abilitare questa funzione per impostazione predefinita e allontanarsi dalla ricerca semantica che può essere un successo o un fallimento.

Stranamente, ho provato a cercare questo forum usando l’IA e non sono riuscito a ottenere risposte pertinenti.

2 Mi Piace

Beh, l’IA l’ha comunque trovato nella sezione Argomenti Correlati:

Sì, ho visto quella pagina ma non vedo nulla che parli di come abilitare i risultati di ricerca AI per impostazione predefinita per tutti. Mi sfugge qualcosa?

Forse ti ho capito male :slight_smile:. Pensavo intendessi ‘abilitare la funzionalità’ invece di ‘abilitare l’interruttore’. Se ti riferisci all’interruttore, non credo ci sia un modo per farlo.

Abbiamo appena reso l’opzione attivabile di default quando la ricerca a pagina intera non produce risultati, e la renderemo automaticamente con risultati AI quando la ricerca rapida nell’intestazione non produce risultati o ne produce pochi.

Non esiste un’impostazione per attivarla sempre automaticamente nella ricerca a pagina intera, poiché ciò causerebbe Frontend developers: stop moving things that I’m about to click on | by Stephen Jayakar | Medium

5 Mi Piace

Questo è un ottimo inizio. Sarebbe bello avere un’opzione per dare priorità ai risultati che vogliamo mostrare come prima scelta (estensione della logica appena implementata). Ricerca AI o semantica nativa. Nel mio caso, l’AI produce risultati molto più pertinenti durante la ricerca.

Il pensiero qui è che i token vengono già consumati per eseguire la ricerca AI, quindi perché non mostrare i risultati se sono più appropriati. Molti utenti sono ancora diffidenti nei confronti dell’AI, quindi non attivano l’interruttore, ma allo stesso tempo ottengono risultati di ricerca fuorvianti (semantici) e non se ne rendono conto. Lascia che gli amministratori decidano cosa è meglio per i valori predefiniti della loro community.

4 Mi Piace

Come soluzione temporanea, se qualcuno ha bisogno di abilitare il pulsante di attivazione/disattivazione per impostazione predefinita, puoi aggiungere questo script al tuo tema (l’ho inserito sotto <body>) che fondamentalmente cerca una modifica nei risultati di ricerca dell’IA e quindi attiva i risultati dell’IA. Questo non è il codice più pulito, forse @awesomerobot ha un modo più elegante per farlo.

<script type="text/javascript">
    // QUESTO SCRIPT SERVE AD ABILITARE IL TOGGLE PER INCLUDERE I RISULTATI DI RICERCA DALL'IA DOPO IL COMPLETAMENTO DELLA RICERCA - ELIMINARE UNA VOLTA CHE ESISTE UN'OPZIONE NATIVA PER ABILITARLO PER IMPOSTAZIONE PREDEFINITA
    console.log('Script caricato. Continua a cercare .semantic-search__searching e a gestire l\'observer.');

    let searchObserver = null; // Variabile per contenere l'istanza dell'observer

    function observeSearchContainer() {
      const searchStatusContainer = document.querySelector('.semantic-search__searching');

      if (searchStatusContainer) {
        // Se il contenitore viene trovato
        if (!searchObserver) {
            // Se un observer non è già in esecuzione, iniziane uno
            console.log('.semantic-search__searching trovato. Avvio dell\'osservazione.');

            searchObserver = new MutationObserver(function(mutations) {
              //console.log('Mutazione rilevata in .semantic-search__searching:', mutations);
              mutations.forEach(function(mutation) {
                // Controlla le mutazioni pertinenti all'interno del contenitore osservato
                if (mutation.type === 'characterData') {
                  //console.log('Tipo di mutazione pertinente rilevato. Tentativo di attivare la funzionalità del pulsante di attivazione/disattivazione. ' + mutation.type);
                  const currentToggleButton = document.querySelector('button.d-toggle-switch__checkbox.semantic-search__results-toggle');
                  if (currentToggleButton) {
                      const isCurrentlyEnabled = currentToggleButton.getAttribute('aria-checked') === 'true';
                      if (!isCurrentlyEnabled) { // Se il pulsante di attivazione/disattivazione NON è attualmente abilitato
                        // Attiva un evento click per attivare la funzionalità associata
                        currentToggleButton.click();
                        console.log('Evento click sul pulsante di attivazione/disattivazione attivato.');
                      } else {
                        console.log('Pulsante di attivazione/disattivazione già abilitato.');
                      }
                  } else {
                    // Questo caso potrebbe verificarsi se il pulsante di attivazione/disattivazione viene rimosso mentre il contenitore è ancora presente
                    console.log('Pulsante di attivazione/disattivazione non trovato durante il tentativo di attivare la funzionalità.');
                  }
                }
              });
            });

            const config = { childList: true, subtree: true, characterData: true, attributes: true };
            searchObserver.observe(searchStatusContainer, config);
            console.log('MutationObserver avviato su .semantic-search__searching.');
        } else {
            // Contenitore trovato e observer già attivo per esso
            //console.log('.semantic-search__searching trovato, observer già attivo.');
        }
      } else {
        // Se il contenitore NON viene trovato
        if (searchObserver) {
            // Se un observer era in esecuzione in precedenza, significa che il contenitore è stato rimosso
            console.log('.semantic-search__searching rimosso. Disconnessione dell\'observer.');
            searchObserver.disconnect(); // Interrompi l'osservazione
            searchObserver = null; // Reimposta la variabile dell'observer
        } else {
            // Contenitore non trovato e nessun observer attivo (stato corretto)
            //console.log('.semantic-search__searching non ancora trovato.');
        }
      }
    }

    // Utilizza un intervallo per controllare periodicamente l'esistenza del contenitore
    const containerCheckInterval = setInterval(observeSearchContainer, 500); // Controlla ogni 500 millisecondi
</script>

Ho spostato questo in Feature poiché sembra essere una conversazione aperta su come migliorare questa funzionalità.