12
votes

Recherche de solr et de facette

La recherche de facet est-elle intégrée lorsque vous configurez votre schéma ou devez-vous faire certaines choses pour la configurer?

Est-ce que cela fonctionne essentiellement de la boîte sur tous les champs que vous avez configurés pour être tritable?

Ensuite, alors vous utilisez simplement la syntaxe de requête FQ et il retournera la facette XML avec les résultats de la recherche?

Y a-t-il un bel article à ce sujet qui vous a aidé à la première fois?


0 commentaires

5 Réponses :


19
votes

Oui, vous pouvez faire face à tout champ indexé hors de la boîte. Cependant, cela pourrait ne pas vous donner les résultats que vous attendez jusqu'à votre Configurer les champs de facettes en fonction de vos types de données .

FaceCeting est activé et utilisé via le facet. * Paramètres , pas à quertribuer FQ est utilisé lorsque l'utilisateur sélectionne une valeur de facette.

Quelques bons tutoriels SOLR:


5 commentaires

@MAURICIO_SCHEEFFER Connaissez-vous un projet - GitHub ou Codépex - qui ont actuellement une recherche à facettes implémentées à la référence - Solr ou Lucene -! BRGD.


@sebastian_h Le bon endroit pour poser cette question serait Lucene.apache.org/solr/discussion.html . Mais que voulez-vous comparer exactement? Il existe des dizaines de facteurs dans la configuration, la requête et la conception de schéma qui affectent les performances de SOLR / Lucene.


@MAURICIO_SCHEFFER Merci de votre réponse. Je suis nouveau sur cette zone par conséquent, je me demandais si un projet en C # comme par exemple est disponible pour voir une approche mise en œuvre de SOLR. BRGD!


@MAURICIO_SCHEFFER Merci pour l'information. Excellent travail avec Solrnet. Son recommandé d'utiliser SolRNet 0.4 en version bêta ou de travail avec la version 0.3? BRGD!


@sebastian_h toujours aller pour la dernière fois, même si beta, c'est stable.



10
votes

Oui, ajoutez simplement & facet = true & facet.field = {nom de terrain} à l'URL de votre demande.

Voici un autre tutoriel: Faceting


1 commentaires

L'URL n'est plus trouvable. Vous pouvez éventuellement le remplacer avec SearchHub.org/2009/09/02 / Faced-Search-with-Solr



0
votes

Faceting du Guide de référence de Solr Apache.


0 commentaires

2
votes

Le code ci-dessous en C #, à l'aide de l'emballage SolRNet. La facette Vous pouvez le faire sur les champs stockés dans SOLR, assurez-vous que sa chaîne et n'a pas de place pour de meilleurs résultats. Le mincount est destiné à limiter le nombre minimal pour être répertorié dans la facette.

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


0 commentaires

0
votes

Le paquet SolRNet à partir de packages Nuget en C # fournit un moyen simple de y parvenir. La documentation aide. Voici un exemple,

public async Task SolrFaceting()
    {
        Console.WriteLine("facets");
        var facetQuery = await _solr.QueryAsync(SolrQuery.All, new QueryOptions
        {
            Rows = 0,
            Facet = new FacetParameters
            {
                Queries = new[]
                {
                    new SolrFacetFieldQuery("FieldName1"),
                    new SolrFacetFieldQuery("FieldName2"),
                    new SolrFacetFieldQuery("FieldName3"),
                    new SolrFacetFieldQuery("FieldName4"),
                },
                Limit = 10

            }
        });

        foreach (var facet in facetQuery.FacetFields["FieldName1"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName2"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName3"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
        foreach (var facet in facetQuery.FacetFields["FieldName4"]) {
            Console.WriteLine("{0}: {1}", facet.Key, facet.Value);
        }
    }


0 commentaires