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 => {
		/* ... */
	});
});