Vault でより正確な検索結果を得るために、管理者は検索トークンと検索のプロパティの基本を理解し、活用するだけでなく(「Vault を検索する」を参照)、web.config ファイル内の Lucene の「検索スロップ係数」を変更して、ユーザに表示する Vault の検索結果の「範囲」を操作することができます。
「検索スロップ係数」は、一致とみなす検索句に含まれる 2 つの語の間に発生可能な位置の最大数を指定します。これらの位置の範囲は、検索文字列との正確な一致から、この文字列の多数の組み合わせにまで至ります。
「スロップ」とは編集距離であり、距離の単位はクエリ句内でトークンが元の位置から移動可能な回数(ただし、検索結果として捕捉可能であること)です。たとえば、検索文字列内の 2 語の順序を入れ替えるには、2 回の移動が必要です。最初の移動で 2 語を相互の語の上に配置し、2 回目の移動で 2 語を並べ直します。したがって、2 語または 2 つのトークンを持つ検索文字列を並べ直すには、スロップ値を 2 以上に設定する必要があります。
簡単に言えば、スロップ係数は、検索結果から除外されない範囲内で検索トークンの順序が異なる程度の上限を決定します。既定では、完全一致に高い優先度が与えられますが、検索結果の合計数はこの値の影響を直接受けます。
Web.config ファイル(C:¥Program Files¥Autodesk¥ADMS Professional 20xx¥Server¥Web¥Services)から、次の 2 行を特定します。
!-- slop factor provided to lucene search --> <add key="SearchSlopFactor" value="10" />
既定では、スロップ値は 10 に設定されています。緩和値を 0 に設定して完全一致のみを返すようにすることも、任意の値に設定して検索結果の幅を拡げることもできます。
例 1: 複数のトークンを使用して検索する
検索条件として A-055* と入力し、スロップ係数が 10 に設定されている場合、スロップ係数の設定に一致する次のような追加の検索結果が検出された件数だけ返されます。
検索条件として A-055* と入力し、スロップ係数が 6 の場合は、厳密に同じ結果が返されます。これは、トークンの数がスロップ係数で設定された「編集距離」の範囲内であるためです。
ただし、検索条件として A-055* と入力し、スロップ係数が 4 の場合、検索結果は 5 件に減少します。これは、B-055401-321-A.ipt が検索結果に含まれなくなるからです。B-055401-321-A.ipt のトークンは離れすぎているため、スロップ制限、つまり編集距離の範囲外になります。A-055* と一致させるためには、「A」を最初のダッシュから 5 箇所移動する必要があります。
検索条件として A-055* と入力し、スロップ係数が 2 の場合、検索結果は 4 件のみです。
B-321-055401-A.ipt が除外されます。これは、検索語句 A-055* と一致させるためには「A」を 3 箇所移動する必要があるためです。
最後に、検索条件として A-055* と入力し、スロップ係数が 0 の場合、トークンの完全一致のみが返されます。
例 2: トークン数を減らして検索する
トークン数を減らして前述の検索を実行した場合はどうなるでしょうか。今回は A055 * を検索します。
検索条件として A055* と入力し、スロップ係数が 5 の場合、検索結果は 6 件になります。これは、一致させるために移動が必要な箇所の数を効果的に減少したからです。6 件の結果が返されるほどスロップ係数を高くする必要はありません。
検索条件として A055* と入力し、スロップ係数が 3 の場合、検索結果は 5 件になります。この場合でも、前述の例よりも編集距離は短くなります。ただし、結果では同様に B-055401-321-A.ipt が除外されます。
検索条件として A055* と入力し、スロップ係数が 1 の場合、検索結果は 2 件のみです。
ただし、ここでは「-」の文字を削除しているので、スロップ係数が 0 の設定で、A055* を含むファイル名の検索では、結果が 0 件になります。この場合、完全一致はありません。