MongoDB Community EditionにMongoDB SearchとMongoDBベクトル検索プロセスmongotをインストールできます。.tgz拡張子を持つターボールとして、Red Hat、Ubuntu、Debian、SUSE、Amazon LinuxなどのすべてのLinuxディストリビューションでmongotプロセスを配置できます。
注意
実験用の配置でより迅速にオンボードするには、自己管理型配置の次のチュートリアルを参照してください。
始める前に
自己管理型配置に mongot をインストールするには、次の前提条件が必要です。
MongoDB Community Edition v8.2 以降。
インストール チュートリアルについては、 MongoDB Community Edition のインストール を参照してください。
注意
スタンドアロンの自己管理型配置で MongoDB Search および MongoDB ベクトル検索プロセスを実行するには、MongoDB 8.2 以降が必要です。MongoDB Controllers for Kubernetes 演算子 を使用して配置する場合は、MongoDB 8.3 以降が必要です。詳細については、「
mongotの互換性と要件」を参照してください。キーファイル アクセス制御を使用して開始されたレプリカセット。
手順
mongot tarball をダウンロードします。
Community tarball で検索するには、次のリンクをクリックします。
ARM アーキテクチャの場合は、ARM 互換の tarball を使用します。
AMD x86_64 アーキテクチャの場合は、AMD x86-64 互換の tarball を使用します。
(任意).tarball パッケージの整合性を検証します。
詳細については、「mongot パッケージの整合性の検証」を参照してください。
mongot と通信するように mongod を構成します。
使用する既存のレプリカセットがある場合は、次の mongod パラメータを設定して、検索クエリとMongoDB ベクトル検索クエリをルーティングしてインデックスを管理します。
Parameter | 説明 |
|---|---|
|
|
|
|
| 検索インデックス管理サーバーの認証を有効にするかどうかを指定します |
| MongoDB Search で CRPC が有効かどうかを指定します |
例、mongod 構成ファイルに次の行を追加して、mongod を再起動します。
setParameter: searchIndexManagementHostAndPort: localhost:27028 mongotHost: localhost:27028 skipAuthenticationToSearchIndexManagementServer: false useGrpcForSearch: true
mongodパラメータの設定に関する詳細については、「自己管理型配置の MongoDB Server パラメータ」を参照してください。検索固有の setParameter オプションの詳細については、「MongoDB Search オプション」を参照してください。
キーファイル認証を使用して新しいレプリカセットを配置する場合は、キーファイル認証を使用した自己管理型レプリカセットの配置の手順に従ってください。
MongoDB配置で mongot プロセスのユーザーを作成します。
mongot searchCoordinator ロールを持つユーザーを介して MongoDB 配置に接続できる必要があります。
管理者ユーザーとして
mongoshに接続します。mongosh --port 27017 -u <your_admin_username> -p <your_admin_password> adminデータベースに接続します。次のコマンドを実行して、
adminデータベースに接続します。use admin mongotユーザーを作成します。searchCoordinatorロールを持つユーザーを作成するには:<mongot-username>をmongotユーザーのユーザー名に置き換え<mongot-password>を、次のステップのpasswordFileで指定したパスワードに置き換えます次のコマンドを実行します:
db.createUser( { user: <mongot-username>, pwd: <mongot-password>, roles: [ "searchCoordinator"] } )
パスワードファイルを作成します。
mongod に接続するための mongot 用のパスワードファイルを作成します。
例、オペレーティング システムを選択し、<mongot-password> をパスワードに置き換えます。次に、次のコマンドを実行して passwordFile というファイルを作成します。
echo -n "<mongot-password>" > passwordFile chmod 400 passwordFile
注意
-n フラグは末尾の改行を防止します。
echo|set /p="mongotPassword" > passwordFile
[System.IO.File]::WriteAllText("passwordFile", "mongotPassword")
mongot の構成オプションを指定します。
YAML構成ファイルを使用して mongot を構成できます。config.default.yml という名前の付属のサンプル構成ファイルまたは新しい構成ファイルを使用して構成を定義します。mongot 構成オプションの詳細については、「mongot オプション」を参照してください。
tarball には、デフォルトのmongot 設定を持つ次のサンプル構成ファイルconfig.default.yml が含まれています。配置の設定を変更できます。
警告
システムトポロジーによっては、mongot クエリサーバーを MongoDB クラスターからアクセス可能なインターフェースにバインドする必要がある場合があります。0.0.0.0 IP アドレスへのバインディングは許可されていますが、サーバーがすべてのパブリック ネットワークに公開され、不正アクセスのリスクがあります。
セキュリティを強化するには、localhost やその他の信頼できる内部アドレスなど、ネットワークレイヤーで制御および保護されている特定のインターフェースに server.grpc.address を制限することを検討してください。
syncSource: replicaSet: hostAndPort: "localhost:27017" # Replace with the mongod host and port. username: mongotUser # Replace with mongod username enabled with "searchCoordinator" role. passwordFile: "/etc/mongot/secrets/passwordFile" # Replace with path to password file for the above user. tls: false storage: dataPath: "/var/lib/mongot" # Replace with the path where you want mongot to store search data. server: grpc: address: "localhost:27028" # Replace with the address and port for mongot listen server tls: mode: "disabled" metrics: enabled: true address: "localhost:9946" healthCheck: address: "localhost:8080" logging: verbosity: INFO
注意
構成ファイル内の dataPath ディレクトリは、mongot を実行するユーザーが書き込み可能である必要があります。
logging.logPathを使用して、mongotが書き込むログファイルのパスを指定します。ログファイルのパスを指定しない場合、mongotは標準出力にログを出力します。
mongot プロセスの正常性を確認します。
確認するには、HTTP クライアントまたは curl を使用して /health エンドポイントとなる接続されたデバイスにリクエストを送信します。例えば、次のサンプル リクエストと同様の curl リクエストを送信します。
curl localhost:8080/health
エンドポイントは、応答として次のいずれかを返します。
SERVING,mongotプロセスが実行中の場合mongotインデックスのステータスをチェックしないため、クエリを処理できない可能性があります。クエリを処理するには、インデックスがReady状態である必要があります。NOT_SERVING,mongotプロセスが実行されていない場合
詳細については、mongot 接続を確認するを参照してください。
MongoDB Search とMongoDB ベクトル検索をアンインストールする
MongoDB Search と MongoDB ベクトル検索をシステムから削除するには、mongot、構成ファイル、データとログを含むすべてのディレクトリを削除する必要があります。次のセクションで必要な手順をご案内します。
mongotUser ユーザーを削除
mongotUser ユーザーを削除するには、次のコマンドを実行します。
use admin db.dropUser("mongotUser")
詳細については、db.dropUser() を参照してください。
ログとログディレクトリをすべて削除します。 mongot
mongot のログとログディレクトリを削除するには、logging.logPath で指定したログディレクトリへのフルパスを使用して次のコマンドを実行します。
rm -rf /path/to/mongot-logs