2011-11-28 12 views

risposta

10

schema.xml definisce il campo di ricerca di default -

<defaultSearchField>text</defaultSearchField> 

È possibile copiare tutti i campi a questo campo di ricerca predefinito.

<copyField source="field1" dest="text"/> 
<copyField source="field2" dest="text"/> 
<copyField source="field3" dest="text"/> 

e Query q=basket ball dovrebbe funzionare.

+2

Questo non è più vero da Solr 3.6 e versioni successive. Vedere https://issues.apache.org/jira/browse/SOLR-2724 – kellyfj

3

È necessario utilizzare un parser di query che sia in grado di inviare token a diversi campi, ad esempio (e) dismax. Per exemple se si dispone di due campi field1 e field2: http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

Vedi http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29 per ulteriori informazioni sulla configurazione dismax.

+0

se così, ancora deve specificare i campi che saranno in cerca destra ,. ? e qual è il carattere^1 significa,.? – Praditha

+0

Sì, è necessario specificare ogni campo. Il carattere '^' ti dà la possibilità di dare pesi al tuo campo. Ad esempio, se una corrispondenza in 'field1' dovrebbe essere due volte più importante di una corrispondenza in' field2', potresti usare 'qf = field1^2 field2^1'. – jpountz

4

Il campo di ricerca predefinito (dal 3,6) è adesso definito nel solrconfig.xml

esempio Nel solrconfig.xml fornito con Solr configsets directory si vedrà qualcosa di simile

<initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell"> 
    <lst name="defaults"> 
     <str name="df">allText</str> 
    </lst> 
    </initParams> 

È possibile modificare allText-yourDefaultSearchFieldName

+0

dopo averlo fatto, durante la ricerca dando errore 'testo campo non definito' –

+0

Quale versione di Solr stai usando? – kellyfj

+0

sto usando solr 5.3 –

Problemi correlati