2011-11-09 4 views
3

J'ai besoin de rechercher des facettes dans solr comme ci-dessous:
comment rechercher plus d'une facette dans solr?

  • fq = Pays: Etats-Unis
  • fq = Pays: Canada
  • fq = Sujet: industriel
  • fq = sujet: politique
  • maintenant j'ai besoin de rechercher les articles qui ont les facettes ci-dessus (logique Et) et (logique Ou).
    supposer que j'ai les articles suivants

    1. pays = France Etats-Unis // Sujet: Industrial Scientific
    2. pays = Canada États-Unis // Sujet: Industriel
    3. pays = USA canada // Sujet: politique industrielle

    maintenant, je l'ai essayé

     
    http://127.0.0.1:8888/solr/Collection1/select?q=*:*&start=0&rows=10&facet=true&fq=country:USA&fq=country:canada&fq=topic:political&fq=topic:industrial 
    

    mais cela na pas retourner quoi que ce soit :( pourriez-vous s'il vous plaît me guider sur la façon de rechercher ces faces par ANDing et ORing entre les
    Merci pour votre aide

    Répondre

    3

    Vous pouvez utiliser des opérateurs booléens pour filtrer les résultats.

    OU - fq=country:(USA OR canada)&fq=topic:(political OR industrial)

    ET - fq=country:(USA AND canada)&fq=topic:(political AND industrial)

    0

    Ce genre de chose serait encore plus facile si les devs Solr mettre en œuvre cette demande de fonctionnalité:

    https://issues.apache.org/jira/browse/SOLR-1223

    comme si ce parce qu'alors chacun fq peut être spécifié (et mis en cache) séparément et la logique ET/OU des fq est séparée. Votre cas est assez simple et la réponse ci-dessus très bien, mais quand vous obtenez quelques fous méchant simplement ET les tous ensemble n'est pas assez puissant.

    Questions connexes