2010-03-01 34 views
12

¿La búsqueda de facetas viene incorporada cuando configura su esquema o tiene que hacer algunas cosas para configurarlo?Solr y búsqueda de facetas

¿Básicamente funciona de la caja en todos los campos que ha configurado para ordenar?

entonces solo usa la sintaxis de la consulta fq y devolverá el XML de la faceta junto con los resultados de búsqueda?

¿Hay algún artículo sobre esto que te haya ayudado la primera vez?

Respuesta

18

Sí, puede facetar cualquier indexado campo fuera de la caja. Sin embargo, es posible que no le proporcione los resultados que espera hasta que configure faceting fields according to your data types.

Faceting está habilitado y se utiliza a través del facet.* parameters, no fq. fq se usa cuando el usuario selecciona un valor de faceta.

Algunos buenos tutoriales Solr:

+0

@Mauricio_Scheffer ¿Conoces algún proyecto - github o codeplex - que actualmente tenga una búsqueda facetada implementada para referencia - solr o lucene -! brgds. –

+1

@sebastian_h el lugar adecuado para hacer esa pregunta sería http://lucene.apache.org/solr/discussion.html. Pero, ¿qué quiere comparar exactamente? Hay docenas de factores en la configuración, las consultas y el diseño del esquema que afectan el rendimiento de Solr/Lucene. –

+0

@Mauricio_Scheffer gracias por su respuesta. Soy nuevo en esta área, por lo tanto, me preguntaba si algún proyecto en C# como, por ejemplo, está disponible para ver un enfoque de implementación de Solr. brgds! –

10

Sí, basta con añadir &facet=true&facet.field={fieldname} a su solicitud de URL.

Aquí es otro tutorial: Faceting

+1

La URL ya no se puede encontrar. Posiblemente puedas sustituirlo por http://searchhub.org/2009/09/02/faceted-search-with-solr/ – paranza

+0

Gracias. Voy a actualizar. –

2

El siguiente código en C#, mediante el uso del paquete SolrNet. La faceta puede hacerlo en los campos almacenados en SOLR, asegúrese de que su cadena y no tiene espacio para obtener mejores resultados. El recuento es para limitar el número mínimo para obtener una lista en faceta.

 QueryOptions options = new QueryOptions 
     {     
      Facet = new FacetParameters 
      { 
       Queries = new ISolrFacetQuery[] 
       { 
        new SolrFacetFieldQuery("field1"), 
        new SolrFacetFieldQuery("field2") 
       }, 
       MinCount = 20 
      } 
     }; 

Y el siguiente código para obtener los resultados, consulta - es la búsqueda introducida en el front end.

var result = solr.Query(query, options); 
Cuestiones relacionadas