ホームページ > バックエンド開発 > Golang > Beego の Solr を使用した検索とクエリ

Beego の Solr を使用した検索とクエリ

WBOY
リリース: 2023-06-23 10:54:38
オリジナル
1524 人が閲覧しました

Beego は高速な Go 言語 Web フレームワークであり、Solr は Lucene に基づいた検索およびクエリ サーバーです。この 2 つを一緒に使用すると、Web アプリケーションに効率的な検索機能を提供できます。この記事では、Beego での検索とクエリに Solr を使用する方法を紹介します。

ステップ 1: Solr をインストールする
Solr の使用を開始する前に、まず Solr をインストールする必要があります。 Solr は、公式 Web サイト (https://lucene.apache.org/solr/) から最新バージョンのバイナリをダウンロードできます。ダウンロード後、Solr をローカル ディレクトリに解凍し、解凍されたディレクトリに入り、次のコマンドを実行して Solr を起動します:

./bin/solr start

Solr が起動したら、次のコマンドを実行できます。ブラウザで Solr 管理インターフェイス (http://localhost:8983/solr/) にアクセスします。 Solr 管理インターフェイスが表示されれば、Solr は正常にインストールされています。

ステップ 2: Solr インデックスの作成
Solr を実行する前に、最初にインデックスを定義する必要があります。 Solr インデックスは、検索やクエリに必要なテキスト データを保存するために使用される特定の構造を持つデータのコレクションです。 Solr が Beego アプリケーションに検索機能を提供するには、データ モデルに適合するインデックスを作成する必要があります。 Solr インデックスの定義は、Solr 構成ファイルと呼ばれる特殊な XML ファイルのセットで構成されます。 Solr 構成ファイルの作成は、Solr インスタンスの管理ツールを使用するか、XML ファイルを手動で編集することによって実行できます。

Solr インデックスを作成する最初のステップは、Schema.xml ファイルを定義することです。このファイルは、Solr インデックスにどのようなフィールド情報が含まれるか、どの列を主キーとして使用するか、フィールドの種類、各フィールドの操作などを定義します。 2 つのフィールドを含む Schema.xml を作成するには、次の内容をファイルに手動で追加します:


< ;schema name="example-index" version="1.0">

<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>
ログイン後にコピー

上記の例では、2 つのフィールドを含むスキーマを定義しました。 : 「id」という名前の主キーと「title」という名前のタイトル。次のステップでは、Index.xml ファイルを Solr 構成ファイルに追加します。 Index.xml ファイルは、構築される Solr インデックス構造を指定する XML ファイルです。 Index.xml ファイルの例を次に示します。


<schema name="example-index" />
ログイン後にコピー

< ;/index>

上記の例では、Solr インデックスの構成ファイルをサンプル インデックスとして設定し、サンプル名を実際のインデックス名に置き換えます。上記の 2 つの手順を完了すると、Solr インデックス構成ファイルが正常に作成されました。このインデックスを Solr で使用するには、インデックスを Solr インスタンスにアップロードする必要があります:

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

このコマンドにより、 a 「example-index」という名前の新しいインデックスを作成し、Solr の構成フォルダーが現在のディレクトリの「conf」フォルダーを指すようにします。

ステップ 3: Beego で Solr を使用する
Beego で Solr を使用するには、Go 言語の Solr クライアント ライブラリをインストールする必要があります。ライブラリに含まれるコマンドは GitHub からチェックアウトできます:

go get github.com/rtt/Go-Solr

Beego アプリケーションでは、最初に Solr 接続を作成する必要があります。これは、新しい Solr オブジェクトを作成することで実行できます:

import (

"github.com/rtt/Go-Solr"
ログイン後にコピー

)

func main() {

s, err := solr.Init("http://localhost:8983/solr")
if err != nil {
    panic(err)
}
ログイン後にコピー

}

次に、Solr オブジェクトを使用して検索およびクエリ操作を実行できます。以下は、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"])

    }
}
ログイン後にコピー

}

上記の例では、最初に Solr クエリ オブジェクトが作成され、検索時に使用されます。検索後、結果セットを反復処理することで、一致する各ドキュメントの ID とタイトルを表示できます。

結論
Solr を使用すると、Beego アプリケーションに強力な検索およびクエリ機能を提供できます。この記事では、Solr をインストールし、Solr インデックスを作成する方法を紹介しました。次に、Beego クライアント ライブラリで Go 言語 Solr を使用して実行する方法を示しました。検索操作とクエリ操作。これらのメソッドを組み合わせると、Beego アプリケーションに効率的な検索機能を簡単に追加できます。

以上がBeego の Solr を使用した検索とクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート