使用 Bloodhound 进行搜索
Using search with Bloodhound
我正在尝试了解 Bloodhound 的工作原理(无需预先输入)。
var engine = new Bloodhound({
local: [{ id: 1, name: 'dog' }, { id: 2, name: 'pig' }],
identify: function(obj) { return obj.id; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
engine.search('do', function(datums) {
console.log(datums); // results: []
});
在这个非常基本的示例中,为什么我的搜索结果不是 return 我的第一项?我做错了什么?
Bloodhound 分词器开箱即用,适用于基本类型的数组。您有 "complex" 数据(具有 2 个属性的对象),因此您必须使用 obj
分词器告诉 Bloodhoud 要分词的内容并传递 属性 名称:
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("id", "name"),
我正在尝试了解 Bloodhound 的工作原理(无需预先输入)。
var engine = new Bloodhound({
local: [{ id: 1, name: 'dog' }, { id: 2, name: 'pig' }],
identify: function(obj) { return obj.id; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
engine.search('do', function(datums) {
console.log(datums); // results: []
});
在这个非常基本的示例中,为什么我的搜索结果不是 return 我的第一项?我做错了什么?
Bloodhound 分词器开箱即用,适用于基本类型的数组。您有 "complex" 数据(具有 2 个属性的对象),因此您必须使用 obj
分词器告诉 Bloodhoud 要分词的内容并传递 属性 名称:
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("id", "name"),