Maison >développement back-end >Golang >Rechercher et interroger en utilisant Solr dans Beego

Rechercher et interroger en utilisant Solr dans Beego

WBOY
WBOYoriginal
2023-06-23 10:54:381529parcourir

Beego est un framework Web en langage Go rapide et Solr est un serveur de recherche et de requêtes basé sur Lucene. L'utilisation des deux ensemble peut fournir des capacités de recherche efficaces aux applications Web. Cet article explique comment utiliser Solr pour la recherche et les requêtes dans Beego.

Étape 1 : Installer Solr
Avant de commencer à utiliser Solr, vous devez d'abord installer Solr. Solr peut télécharger la dernière version des binaires depuis le site officiel (https://lucene.apache.org/solr/). Après le téléchargement, décompressez Solr dans un répertoire local, entrez dans le répertoire décompressé et exécutez la commande suivante pour démarrer Solr :

./bin/solr start

Après le démarrage de Solr, vous pouvez accéder à l'interface de gestion de Solr dans le navigateur ( http://localhost:8983/solr/). Si vous pouvez voir l'interface de gestion Solr, Solr a été installé avec succès.

Étape 2 : Créer un index Solr
Avant d'exécuter Solr, vous devez d'abord définir l'index. Un index Solr est une collection de données avec une structure spécifique utilisée pour stocker les données textuelles nécessaires aux recherches et aux requêtes. Pour que Solr puisse fournir des capacités de recherche pour notre application Beego, nous devons créer un index qui correspond à notre modèle de données. La définition d'un index Solr consiste en un ensemble de fichiers XML spéciaux appelés fichiers de configuration Solr. La création d'un fichier de configuration Solr peut être effectuée à l'aide des outils de gestion de l'instance Solr ou en modifiant manuellement le fichier XML.

La première étape de la création d'un index Solr consiste à définir un fichier Schema.xml. Ce fichier définit les informations de champ incluses dans l'index Solr, quelle colonne doit être utilisée comme clé primaire, le type de champs, les opérations de chaque champ, etc. Afin de créer un Schema.xml avec deux champs, vous pouvez ajouter manuellement le contenu suivant au fichier :

52b189f45abba88b2989c5c1f30b7a34
39e12758f230b0e178c9910653d2c30b

<fields>
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
    <field name="title" type="string" indexed="true" stored="true" />
</fields>
<uniqueKey>id</uniqueKey>

b3814857fc46f0ca91c2651b3e91ccbf

Dans l'exemple ci-dessus, nous avons défini un Schema.xml contenant deux champs : une clé primaire nommée "id" et un titre nommé " title ". L'étape suivante consiste à ajouter le fichier Index.xml au fichier de configuration Solr. Le fichier Index.xml est un fichier XML qui spécifie la structure d'index Solr à construire. Voici un exemple de fichier Index.xml :

52b189f45abba88b2989c5c1f30b7a34
64531295cb863c6c1bc26fe1360fcf6c

<schema name="example-index" />

e7b255719b8058c54fb8465a2925b22e

Le contenu ci-dessus will Solr Le fichier de configuration de l'index est configuré comme un exemple d'index, en veillant à remplacer le nom de l'exemple par le vrai nom de l'index. Après avoir terminé les deux étapes ci-dessus, le fichier de configuration de l'index Solr a été créé avec succès. Pour utiliser cet index dans Solr, vous devez télécharger l'index sur l'instance Solr :

./bin/solr create -c example-index -d ./conf

Cette commande créera une instance nommée "example-index" Créez un nouvel index et pointez le dossier de configuration de Solr vers le dossier "conf" dans le répertoire actuel.

Étape 3 : Utiliser Solr dans Beego
Pour utiliser Solr dans Beego, vous devez installer la bibliothèque client Solr du langage Go. La commande incluse dans la bibliothèque peut être extraite depuis GitHub :

go get github.com/rtt/Go-Solr

Dans l'application Beego, vous devez d'abord créer une connexion Solr. Cela peut être fait en créant un nouvel objet Solr :

import (

"github.com/rtt/Go-Solr"

)

func main() {

s, err := solr.Init("http://localhost:8983/solr")
if err != nil {
    panic(err)
}

}

Ensuite, l'objet Solr peut être utilisé pour effectuer des opérations de recherche et de requête. Voici un exemple montrant comment effectuer une requête texte dans Solr :

import (

"fmt"
"github.com/rtt/Go-Solr"

)

func main() {

s, err := solr.Init("http://localhost:8983/solr")
if err != nil {
    panic(err)
}

query := solr.NewQuery()
query.Q("title:Solr")
res, err := s.Search("example-index", query)
if err != nil {
    fmt.Printf("Error searching: %s

", err)

} else {
    fmt.Printf("Found %d results:

", res.Results.NumFound)

    for _, doc := range res.Results.Docs {
        fmt.Printf("- id:%s title:%s

" , doc["id"], doc["title"])

    }
}

}

Dans l'exemple ci-dessus, un objet de requête Solr est d'abord créé puis utilisé lors de la recherche. Après la recherche, il peut être parcouru par Result défini sur. afficher l'ID et le titre de chaque document correspondant.

Conclusion
L'utilisation de Solr peut fournir de puissantes capacités de recherche et de requête pour les applications Beego. Ensuite, nous avons présenté comment installer Solr et créer un index Solr. bibliothèque cliente pour effectuer des opérations de recherche et de requête. La combinaison de ces méthodes peut facilement ajouter des capacités de recherche efficaces aux applications Beego

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn