ServiceNow – 日本語の検索性を向上させる方法 ~同義語の登録~

運用

前々回は日本語トークナイザーストップワードの、前回はユーザートークンの設定について解説しました。

正直に言ってしまえば、この二つの記事を参考にご自身のServiceNowインスタンスに対して設定を入れてあげれば、検索性はかなり上がります。
ですが、UX改善のためにもう少し検索性を上げておきたいと考える方もいるかもしれません。

今回の記事では、同義語を有効化・登録し検索性を向上させる方法を解説していきます。

デフォルトの検索性の確認

実際に検索性を向上させる前に、デフォルトの検索性がどうなっているか、サンプルを見ておきましょう。
画像の例では「データベース」で検索しています。

Service Portal – Knowledge

正しく記事が検索されていることがわかりました。
では、「Database」「DB」などの類義語ではどうなるかを見ておきましょう。

Service Portal – Knowledge
Service Portal – Knowledge

当然ではありますが、ヒットしないですね。
同じ意味を持った単語なのに、ユーザーの検索方法によっては記事が検索できないとなると、ユーザーの満足度としては低くなってしまいます。

これを改善するために、同義語登録を行っていきましょう。

同義語の登録

プロパティの設定

実際に同義語を登録していく前に、システムプロパティを有効化する必要があります。
メニューから、システムのプロパティ > テキスト検索を開きます。
同義語を有効にします」にチェックを入れて保存をクリックします。

System Property – Text Search

システムプロパティの設定は以上で完了です!

同義語ディクショナリの登録

システムプロパティを有効化したことによって、メニューの中に同義語ディクショナリテーブルを開くことのできるモジュールが追加されました。

メニューから、システム定義 > テキストインデックスの同義語ディクショナリを開きます。
サンプルデータが入っていると思いますが、ここでは新しく自分だけの同義語セットを作ることにしますね。画面上部の新規をクリックします。

ts_synonym_dictionary – List

新規フォームが開くので、名前には識別できる適当な値を入力します。
同義語セットに、登録したい同義語をカンマ区切りで入力します。
入力が完了したら、一度保存しましょう。

この段階ではまだ同義語は公開されておらず、下書きのままです。
今作ったレコードをもう一度開き、関連リンクにあるディクショナリを公開をクリックします。

ts_synonym_dictionary – New form

同義語ディクショナリの登録は以上で完了です!

同義語辞書とテキストインデックスの関連付け

同義語辞書を公開したら、テキストインデックスとの関連付けを行う必要があります。
メニューから、システム定義 > テキストインデックスを開きます。
同義語の関連付けを行いたいテーブルを開き、ビューをデフォルトビューに切り替えます。

System Definition > Text Index

フォームの下部に関連リストが表示されるので、インデックスの同義語ディクショナリタブを開き新規をクリックします。

テキストインデックス構成インデックスはそれぞれ関連付けを行いたいテーブルを指定します。画像の例ではkb_knowledgeにしています。
同義語ディクショナリには、先ほど作成した同義語セットを指定しましょう。
すべて入力が完了したら送信です。

System Definition > Text Index

同義語辞書とテキストインデックスの関連付けは以上で完了です!

テキストインデックスの再生成

テキストインデックスを再生成することで、変更を反映できます。
ここまでの対応が終わったら、必ずテキストインデックスを再生成しましょう。

テキストインデックスの再生成手順については、前回の記事でもまとめています。
リンクを踏むのが面倒な方もいると思うので、こちらでも再度ご説明しますね。

メニューから、システム定義 > テキストインデックスを開きます。
ユーザートークンの登録を反映させたいテーブルを検索し、レコードを開きます

System Definition > Text Index

関連リンクの、テキストインデックスの再生成をクリックします。
再生成が完了した際に、メールで通知するかを確認するポップアップが表示されます。
お好みの設定でOKをクリックします。

ts_index_name – kb_knowledge

あとはテキストインデックスの再生成を待つのみです!

ちなみに、テキストインデックスの再生成が完了したかどうかを確認する方法ですが、メニューから、システムポリシー > Events > イベントログを開きます。
「名前」は次の値で始まる「text_index.」で検索すると、テキストインデックスに関するログのみフィルタリングできます。

text_index.allがテキストインデックスの再生成が始まった合図です。
text_index.completeがテキストインデックスの再生成が完了した合図です。
パラメータ1に表示されているテーブル名が、テキストインデックスの再生成を行っている、または完了したテーブルです。

※sysmetadataなど、テーブルによっては再生成にn時間単位を要するものもあるのでご注意ください。

sysevent

テキストインデックスの再生成が完了したら、同義語に関わる日本語の検索性の向上対応は完了です!

対応後の検索性の確認

では、デフォルトの検索性の確認で、「Database」「DB」で検索できなかった記事が、実際に検索できるかを確認してみましょう。

それぞれ検索してみると……

Service Portal – Knowledge
Service Portal – Knowledge

うまく検索結果に表示されていますね!

まとめ

今回は、同義語を登録して検索性を向上させる方法をご紹介しました。
ポイントとしては以下の通りになります。

  • 初回の場合は、システムプロパティを有効化する
  • よく利用する同じ意味の単語を同義語辞書に登録する
  • 同義語辞書とテキストインデックスの関連付けを行う
  • 上三つの設定を行った後は必ずテキストインデックスの再生成を行う

同義語辞書を登録することで、検索性はかなり向上すると思います!
ひとまず日本語の検索性についての記事はこれで終了しますが、また何か新しい情報が手に入ったら共有しますね!

コメント

タイトルとURLをコピーしました