Я не могу заставить flexsearch работать в приложении angular. При попытке добавить элементы в индекс он будет работать, но без ошибок, но фактически не будет добавлять никаких элементов. Тогда попытка поиска вернет пустой массив.
Кому-нибудь повезло с flexsearch и typescript?
export class SearchService {
constructor() { }
search(): Observable<SearchService.TestSearch> {
let index: Index<SearchService.TestSearch> = FlexSearch.create<SearchService.TestSearch>();
index.init({
doc: {
id: 'id',
field: ['title', 'value']
}
});
for (let i=0;i<5;i++) {
index.add(new SearchService.TestSearch(i, `Title ${i}`, `Value ${i}`));
}
let stringIndex: Index<SearchService.TestSearch> = FlexSearch.create<SearchService.TestSearch>();
stringIndex.init({
doc: {
id: 'id',
field: ['title', 'value']
}
});
for (let i=0;i<5;i++) {
stringIndex.add(i, JSON.stringify(new SearchService.TestSearch(i, `Title ${i}`, `Value ${i}`)));
}
console.log(index.info());
console.log(stringIndex.info());
console.log(index.search("Title 1"));
console.log(stringIndex.search("Title 1"));
return services;
}
}
export namespace SearchService {
export class TestSearch {
constructor(
id: number,
title: string,
value: string) { }
}
}
, что приводит к:
{id: 0, items: 0, cache: false, matcher: 0, worker: false, …}
{id: 3, items: 0, cache: false, matcher: 0, worker: false, …}
[]
[]