2017-06-29 4 views
0

J'utilise pysolr 3.1.0 pour interfacer des requêtes avec le serveur solr. Je suis en mesure d'obtenir la liste des termes recherchés. Mais je ne suis pas capable de trouver un match exact.Comment rechercher une correspondance exacte dans solr en utilisant la fonction pysolr "solr.search"

J'utilise la commande ci-dessous

résultats = solr.search (packagename, lignes = 5000)

Toute idée de ce que les changements que je dois faire dans la requête pour correspondance exacte?

Répondre

1

Le problème avec la requête a été que je n'avais pas mentionné le champ ou l'identifiant dans lequel la recherche devait être exécutée.

La requête doit être quelque chose comme ça

résultats = solr.search ('id: "searchstring")

0

Utilisez les guillemets

results = solr.search('package name', rows=50)

Ajouter des guillemets doubles pour interroger mot-clé pour travailler pour correspondance exacte

results = solr.search('"package name"', rows=50)

+0

Je l'ai essayé, mais ça n'a pas –

+0

Dans la console python vérifier wt il retourne pour len (résultats) 'imprimer len (résultats) ' et vérifier dans l'administrateur de solr pour q = "nom du paquet" combien de résultats vous obtenez – vinod

+0

Oui, j'ai vérifié mon résultat, cela fonctionne si je lance une requête avec la commande curl normale et set indent = true. Mais l'option solr.search ne fonctionne pas –