2011-11-28 13 views

Respuesta

10

schema.xml define el campo de búsqueda por defecto -

<defaultSearchField>text</defaultSearchField> 

Puede copiar todos los campos a este campo de búsqueda predeterminado.

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

Y q=basket ball consulta debería funcionar.

+2

Esto ya no es cierto desde Solr 3.6 y posterior. Consulte https://issues.apache.org/jira/browse/SOLR-2724 – kellyfj

3

Necesita utilizar un analizador de consultas que pueda enviar tokens a varios campos, como (e) dismax. Para exemple si tiene dos campos field1 y field2: http://solr/select?q={!dismax}Basket Ball&qf=field1^1 field2^1

Ver http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29 para obtener más información sobre la configuración dismax.

+0

si así, todavía debe especificar los campos que estarán en busca derecho ,. ? y ¿cuál es el carácter^1 significa,.? – Praditha

+0

Sí, necesita especificar cada campo. El caracter '^' te da la habilidad de dar pesas a tu campo. Por ejemplo, si una coincidencia en 'campo1' debe ser dos veces más importante que una coincidencia en 'campo2', puede usar 'qf = campo1^2 campo2^1'. – jpountz

4

El campo de búsqueda predeterminado (desde 3,6) se define ahora en solrconfig.xml

por ejemplo En el solrconfig.xml que se incluye con Solr configsets directorio verá algo así como

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

Puede cambiar allText-yourDefaultSearchFieldName

+0

después de hacerlo, mientras busca dando el error 'texto de campo no definido' –

+0

¿Qué versión de Solr está utilizando? – kellyfj

+0

estoy usando solr 5.3 –

Cuestiones relacionadas