2011-06-02 19 views
10

Estoy implementando la búsqueda de solr en mi proyecto. Tengo una pregunta con respecto a cómo se realizan búsquedas a campos dinámicos que se crea en un índice de Solr Por ejemplo: - esta es la etiqueta que se forma en el índicePregunta de búsqueda de Solr para campos dinámicos indexados

y estoy tratando de buscar desde Solr usando esta consulta Employee_ * = 172

Ayúdeme en esto si la forma de buscar es incorrecta.

Respuesta

15

En sus consultas, debe definir exactamente qué campos concretos desea buscar, p. Ej. Employee_a, Employee_b (o los campos dinámicos que haya utilizado). No puede buscar en todos los campos dinámicos usando comodines en un nombre de campo en las consultas.

+1

gracias por la respuesta – Selwyn

7

Aquí es una solución alternativa:

  • crear un (estática) copyField
  • copiar el campo dinámico en el (estática) copyField
  • consulta la copyField

Su esquema. xml podría verse así:

<dynamicField name="Employee_*" type="string" indexed="true" stored="true"/> 
    <field name="emp_static" type="string" indexed="true" stored="true" multiValued="true"/> 
    <copyField source="Employee_*" dest="emp_static"/> 

ya se puede consultar a través de Solr:

select?q=emp_static:"172" 

Usted puede incluso modificarlo y no almacenar/indexar el campo dinámico (ya que no podría consultar en él ...)

Cuestiones relacionadas