slapd.confを介してcentosにmemberof機能を含むopenldapサーバーをインストールしました。この構成部分が必要ですか? :
index objectClass eq,pres
index ou,cn,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
openldapログから:
SRCH attr=uid displayName mail member
Jun 21 15:53:52 rhsfugt001 slapd[26924]: <= bdb_equality_candidates: (memberOf) not indexed
まだこの問題に対する解決策が見つかりませんでした...
答え1
これは、特定の検索結果のフィルタに使用された一部の属性がインデックスに登録されていないという警告にすぎません。
インデックス付きのプロパティが適切かどうかは、この警告を発生させたフィルタを確認してください。
また、大きくすることができます減らす値の異なる大規模な結果セットのプロパティをインデックス付けするときの検索パフォーマンス。
索引付け防止パターンの一般的な例:
(uid=foobar)
常に1つの検索結果が返されるとします。
明らかにあなたは属性を索引付けしますUID:
index uid eq
最近では、「アクティブ」ユーザーのみを検索するなど、やや複雑なフィルタを使用するのが一般的です。
(&(uid=foobar)(organizationalStatus=active))
一致するユーザーが多い場合は、(organizationalStatus=active)
インデックス化されていない警告があるため、インデックスだけで検索パフォーマンスが大幅に低下します。
その理由は、索引付けされた属性ごとに検索候補セットが作成され、2番目のステップでは、索引付けされていない主張を使用して検索候補セットをフィルター処理するためです。したがって、上記の例では、index uid eq
カーディナリティが1の検索候補セットが生成され、index uid,organizationalStatus eq
同時に2つの検索候補セットが生成されます。UIDまだ基本ですが組織状態カーディナリティがあるみんな。
=>使用されている検索フィルタと検索候補セットの可能なサイズを分析せずに警告を削除するためにインデックスを追加しないでください。
答え2
再インデックスを実行してこの警告を修正しました。
systemctl stop slapd
rm /var/lib/ldap/alock
slapindex
chown -R ldap:ldap /var/lib/ldap/
systemctl start slapd