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