Upgrade to Pro — share decks privately, control downloads, hide ads and more …

全文検索とUNKテーブル

 全文検索とUNKテーブル

Notes/Domino の設計変更が原因で全文検索が正しく機能しなくなった不具合があり、サポートが言った通り対応したが効果がなく、独自のやり方で解消した事例の紹介です。

2017年12月15日開催の「テクてくLotus技術者夜会」で使用したスライドです。

Haruyuki Nakano

September 17, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Technology

Transcript

  1. 2017年12月15日
    中野 晴幸
    Twitter: @harunakano

    View Slide

  2. View Slide

  3. フィールド C_day を日付で検索

    View Slide

  4. View Slide

  5. DB内部の
    UNKテーブルという、フィールド
    情報を格納するテーブルが不正な状態となってし
    まった事により発生した可能性があります。

    View Slide

  6. “Text” だとぉ?
    Unique Key Table : データベース内で使われているアイテムの名前と
    その型の情報を格納している

    View Slide

  7. 次の手順でUNKテーブルを更新し、解消するか確
    認してほしい

    全文索引を削除する

    キャッシュを削除する

    dbcache flush

    コピー圧縮する

    Load compact –c xxx.nsf

    全文索引を作成する

    View Slide

  8. 効果なし!!

    View Slide

  9. View Slide

  10. Definition of UNK and ‘Database has too
    many unique field names’ message
    http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg21100238
    一部抜粋
    英語 日本語
    The compact process deletes the
    UNK, and scans all notes in the
    database for the existence of
    unique fields. If the field exists
    anywhere (design element or live
    document), it will be added to the
    newly built UNK.
    コンパクトプロセスはUNKを削除し、データ
    ベース内のすべてのノートをスキャンして一意
    のフィールドが存在するかどうかを調べます。
    フィールドがどこかに存在する場合(設計
    要素または生の文書)、新しく作成
    されたUNKに追加されます。

    View Slide

  11. View Slide

  12. @Created が古い順ではなく…
    NoteID が小さい順に並ぶ!

    View Slide

  13. 文字!!

    View Slide

  14. フォーム上の日付/時刻のフィールドへ値を入力せ
    ず保存すると、アイテムの「データ形式の種類」は文
    字に。

    View Slide

  15. 【サンプル】値のない日付/時刻フィールドに置換する:
    Dim ss As New NotesSession
    Dim doc As NotesDocument
    Dim item As NotesItem
    Dim ndt As New NotesDateTime(“”) ‘ワイルドカードの日付
    Const FLD = "C_day"
    Set doc = ss.Currentdatabase.Unprocesseddocuments.Getfirstdocument()
    If doc.Hasitem( FLD ) Then doc.Removeitem FLD
    Set item = New NotesItem(doc, FLD, ndt)
    doc.save True, False

    View Slide

  16. 「Time」になった!
    検索もバッチリ!!

    View Slide


  17. フォームを作り直したDBは検索に気を付けろ!!

    ソートしないビューは NoteID の小さい順に文書
    が並ぶ

    “notes 鬼”でNotes検索の記事を探せる

    View Slide