所以我正在尝试使用 Bloodhound 搜索引擎构建一些东西,我注意到它有这两个标记器,数据和查询。
文档中给出的初始化代码示例如下所示:
var engine = new Bloodhound({
local: ['dog', 'pig', 'moose'],
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
这两个 Tokenizer 是做什么的?
编辑
Bloodhound 文档将这两个定义如下:
datumTokenizer – 具有将数据转换为字符串标记数组的签名 (datum) 的函数。必需的。
queryTokenizer – 带有签名(查询)的函数,可将查询转换为字符串标记数组。必需的。
它仍然没有解释 Datum 和 Query 之间的区别。