見出し画像

全文検索システムにAD権限を使ったクロール設定をする方法

前回までの設定でADユーザがログインできるようになりました。
今回はユーザが属するグループを使った権限を付与してクロールしていきます。

事前準備

まずは権限を付与したいADのグループの情報が必要です。
ADユーザグループの情報が公開されていればそれを利用すればいいのですが、公開されていない場合はnetコマンドを使って調べることができます。

コマンドプロンプトで、net user ユーザ名 /domain
で自分の所属するグループを見ることができます。

c:\umino>net user <username> /domain

自分が属さない組織のグループ名でも所属するメンバのユーザ名で同様のコマンドを叩くことで取得することができます。
ここでは下記2つのグループに権限を付与することにします。

DG0000 エレキ設計
DG0001 メカ設計

クロール設定

名前

まずは名前から。
あとから分かる名前にしましょう。

パス

クロール先は今回はネットワーク越しの共有フォルダなので
smb://で設定
URI表記だっけな。\ではなく、全て/表記。末尾にも/を忘れないこと。

最後の/を忘れず付ける

深さ

深さは調べてみるとうちのフォルダ階層は最大で20階層くらいまでありました。無駄に階層を増やす人って決まっているんですよね。
とりあえず10階層と設定。

最大アクセス数

デフォルトでは100万ファイルだったかな。
1つのクロール設定でアクセスできるファイル数です。

スレッド数、間隔

スレッド数÷間隔で時間あたりのクロールされるファイル数が決まるので
5スレッド、1000ミリ秒で秒間5ファイルを目標にしています。

ブースト値

クロールのタスクが優先されるわけではなくて、
クロール結果に対する重み付けの値のようです。
あまり重要じゃないフォルダなどはわざと低い数値を設定なども可能。

パーミッション

冒頭で調べたADグループ名はここで使用します。
adminロールに権限を付与するときは
{role}admin

ADグループに権限を付与するときは
{group}DG0001
{group}DG0002
のように設定します。

これくらいで大丈夫かな。

あとは除外したいファイルやパスを設定することで
不要なファイルが検索にヒットしたり、インデックスを圧迫することを避けることができます。
私は.tmp .db .lnkなどを除外しています。


いいなと思ったら応援しよう!