Configurazione e personalizzazione della funzione type-ahead

La funzione type-ahead permette agli utenti di utilizzare un elenco a discesa di scelte come campo di ricerca per trovare e selezionare elementi nell'elenco di scelte. Questa funzione deve essere configurata prima di poterla utilizzare. Può anche essere personalizzata.

Configurazione del type-ahead

Per istruzioni sulla configurazione del type-ahead, fare riferimento alla Technote 27042315.

Personalizzazione del type-ahead

La funzione type-ahead ha il proprio indice e analizzatore che è possibile personalizzare, di seguito viene descritta la configurazione predefinita:

    <fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="256"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>
Questa configurazione abilita la funzionalità di ricerca del testo completo come quella della funzione "Trova" di un editor. Supporre, ad esempio, di voler personalizzare il type-ahead per ignorare gli articoli ("un", "uno", "il") e le congiunzioni ("o", "ma", ecc.). Specificare tali parole nel file stopwords_en.txt e modificare {FTSHOME}\dbset\userdb\Solr\typeahead\conf\schema.xml nel seguente modo:
    <fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="256"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>
Per informazioni di riferimento su tutte le impostazioni analizzatore Solr, consultare http://wiki.apache.org/solr/.
Nota: Per informazioni di riferimento sui comandi citati nella seguente procedura, fare riferimento a r_cqtsadmin_pl.
Se si personalizza il type-ahead prima di completare la distribuzione della ricerca testo completo (cioè prima di eseguire --setup_cq_fts), non sono necessarie procedure aggiuntive. Se è già stata distribuita la ricerca testo completo, completare le seguenti operazioni:
  1. Arrestare l'indicizzazione della modalità di aggiornamento:
    --stop_update_idx
  2. Riavviare il profilo FTS WAS:
    --stop_fts_was_profile
    --start_fts_was_profile
  3. Rigenerare l'indice:
    --fresh_batch_idx
    (Se questo comando ha esito negativo prima del completamento, riprendere l'indicizzazione utilizzando --run_batch_idx.)
  4. Riabilitare l'indicizzatore della modalità di aggiornamento:
    --start_update_idx
  5. Riavviare il profilo FTS WAS:
    --stop_fts_was_profile
    --start_fts_was_profile

Feedback