FlexSearch TypeScript не может заполнить индекс - PullRequest
0 голосов
/ 26 мая 2020

Я не могу заставить 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, …}
[]
[]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...