Итак, я пытаюсь создать что-то с помощью поисковой системы Bloodhound, и я заметил, что у нее есть два токенизатора, данные и запрос.
Пример кода инициализатора, приведенный в документации, выглядит так:
var engine = new Bloodhound({
local: ['dog', 'pig', 'moose'],
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
Что делают эти два токенизатора?
ИЗМЕНИТЬ
документация Bloodhound определяет эти два параметра следующим образом:
datumTokenizer — функция с подписью (данными), которая преобразует данные в массив токенов строк. Необходимый.
queryTokenizer — функция с подписью (запросом), которая преобразует запрос в массив строковых токенов. Необходимый.
Это все еще не объясняет, в чем разница между Datum и Query.