,所以我试图使用Bloodhound搜索引擎来构建一些东西,并且我注意到它具有这两个令牌剂,基准和查询。
文档中给出的初始化代码示例如下:
var engine = new Bloodhound({
local: ['dog', 'pig', 'moose'],
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
这两个令牌者做什么?
编辑
血犬文档定义了这两个如下:
datumTokenizer - 带有签名(datum)的函数,将基准转换为字符串令牌数组。需要。
queryTokenizer - 带有签名(查询)的函数,将查询转换为字符串令牌数组。需要。
它仍然无法解释基准和查询之间的区别。
在基准和查询上
datum
是通过搜索的索引的元素, d query
是正在搜索的内容。如果要么包含多个令牌(S)(或使用whitespace
时单词),则引擎需要一些函数才能将字符分开。查看有关为什么需要令牌化的更多信息。