bloodhound 搜索引擎中的数据和查询有什么区别?
What is the difference between datum and query in bloodhound search engine?
所以我正在尝试使用猎犬搜索引擎构建一些东西,我注意到它有这两个标记器,数据和查询。
文档中给出的初始化代码示例如下所示:
var engine = new Bloodhound({
local: ['dog', 'pig', 'moose'],
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
这两个分词器是做什么的?
编辑
Bloodhound documentation定义这两个如下:
datumTokenizer – 具有将数据转换为字符串标记数组的签名(数据)的函数。必填。
queryTokenizer – 具有将查询转换为字符串标记数组的签名(查询)的函数。必填。
它仍然没有解释 Datum 和 Query 之间的区别。
关于数据和查询
datum
是 通过 搜索的索引元素 query
是 搜索的内容。如果其中一个包含多个 token(s)(或使用 whitespace
时的词),引擎需要一些 function to split characters on. See more info on why tokenization is needed.
所以我正在尝试使用猎犬搜索引擎构建一些东西,我注意到它有这两个标记器,数据和查询。
文档中给出的初始化代码示例如下所示:
var engine = new Bloodhound({
local: ['dog', 'pig', 'moose'],
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
这两个分词器是做什么的?
编辑
Bloodhound documentation定义这两个如下:
datumTokenizer – 具有将数据转换为字符串标记数组的签名(数据)的函数。必填。
queryTokenizer – 具有将查询转换为字符串标记数组的签名(查询)的函数。必填。
它仍然没有解释 Datum 和 Query 之间的区别。
关于数据和查询
datum
是 通过 搜索的索引元素 query
是 搜索的内容。如果其中一个包含多个 token(s)(或使用 whitespace
时的词),引擎需要一些 function to split characters on. See more info on why tokenization is needed.