sifter.js (FAIL)
Fuzzy Text Search Test
by Anov Siradj
HTML
<script src="https://anovsiradj.github.io/webapp.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sifter/0.5.4/sifter.min.js"></script>
JavaScript
dump.type = 'log';
var keyword = ['izone','gidle'];
var list = [
'fancam gidle',
'fancam izone',
`[안방1열 직캠4K] 아이즈원 조유리 'FIESTA' (IZ*ONE Jo Yuri FanCam)│@SBS Inkigayo_2020.2.23`,
`[입덕직캠] (여자)아이들 슈화 직캠 4K '덤디덤디(DUMDi DUMDi)' ((G)I-DLE SHUHUA FanCam) | @MCOUNTDOWN_2020.8.6`,
`[MPD직캠] 아이즈원 안유진 직캠 4K '환상동화(Secret Story of the Swan)’(IZ*ONE An Yujin FanCam)|@MCOUNTDOWN_2020.7.2`,
`[K-Fancam] (여자)아이들 미연 '사랑해(Luv U)' ((G)I-DLE MIYEON Fancam) l @MusicBank 200501`,
`[페이스캠4K] 아이즈원 미야와키 사쿠라 'FIESTA' (IZ*ONE Miyawaki Sakura Facecam)│@SBS Inkigayo_2020.3.1`,
`191008 여자아이들 미연 직캠 4K 'Uh-Oh' (G)I-DLE Miyeon fancam @ 인제군 군장병 한마음 대회 by Spinel`,
];
var listed = list.map(i => ({item:i}));
var engine_default = {
search: {
fields: ['item'],
respect_word_boundaries: false,
}
}
var engine = new Sifter(listed);
keyword.forEach(word => {
dump(word);
let result = engine.search(word, engine_default.search);
let resulted = result
.items.map(i => [i.score,listed[i.id].item]);
resulted.forEach(i => dump(i));
});
list.forEach(item => {
keyword.forEach(word => {
/* ... */
});
});