Maison > développement back-end > Golang > le corps du texte

Rechercher et interroger en utilisant Solr dans Beego

WBOY
Libérer: 2023-06-23 10:54:38
original
1470 Les gens l'ont consulté

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 :


<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>
Copier après la connexion

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 :


<schema name="example-index" />
Copier après la connexion

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"
Copier après la connexion

)

func main() {

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

}

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"
Copier après la connexion

)

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
Copier après la connexion

", err)

} else {
    fmt.Printf("Found %d results:
Copier après la connexion

", res.Results.NumFound)

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

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

    }
}
Copier après la connexion

}

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!