Fuse.js
opttions
isCaseSensitive
大文字小文字を区別するかどうか
includeScore
score (0~1)を検索の結果に含める
0に近いほど一致度が高い
shouldSortやthresholdを設定する際に参考になる
includeMatches
一致した文字のindexを含めるかどうか
UI上でhighlightする時にも使える
minMatchCharLength
0以上の整数を指定する
指定した数値以上の文字数に一致する
shouldSort
scoreでsortする
findAllMatches
完全一致がすでに見つかっている場合でも、検索対象の最後まで検索を行う
keys
検索対象のobjectのkeyを配列で指定
ここで指定したkeyを検索対象にする
1つ以上指定しないと何も検索されないmrsekut.icon
Fuzzy Matching Options
テキスト内のどこにパターンが見つかると予想されるかをおおよそ決定する
理論の箇所を理解しないとだめかmrsekut.icon
threshold
0.0〜1.0
scoreの閾値
値を大きくするほど条件がゆるくなり、多くの結果が含まれる
distance
0を指定した場合は、locationに一致するものが検索される
例: (threshold,distance) = (0.8,1000)の時、locationの位置から800字以内に一致するものが検索される
ignoreLcation
Advanced Options
useExtendedSearch
getFn
The function to use to retrieve an object's value at the provided path. The default will also search nested paths.
sortFn
sortの仕方を指定
ignoreFieldName
field-length normを無視する
fieldNormWeight
field-length normの影響度を指定する
Fuzziness score
Key weight
Field-length norm
デフォルトで全表示して、入力するとfilterしていくようにしたい
解決されてなさそう
useExtendedSearchをつtrueにしておけば適当にアンマッチできそうな気はするmrsekut.icon
代替
このぐらいの量で作れるなら再実装してもいいかもね