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 サイトの他の関連記事を参照してください。