Мне непонятно, как удалить дубликаты с помощью параметра dupDetector в Bloodhound.
Я использую версию 0.11.1
Извлечение набора данных из базы данных с такими записями:
building_name room department
Rooney 123 English
Rooney 456 Chemistry
Rooney 987 Chemistry
Meyer 65 Dog Walking
Flatiron 498 Weaving
Мой зов бладхаунда:
var buildingName = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name', 'room', 'department'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: buildingJson,
dupDetector: function(remoteMatch, localMatch) {
return remoteMatch.building_name === localMatch.building_name;
}
});
Функциональность, которую я ищу, - это возможность поиска по Руни, 456 или английскому языку, и набор результатов показывает только одно имя здания, поскольку это имя здания одинаково для всех трех результатов. В настоящее время он возвращает все три записи в списке.
Это возможно?
Вся информация, которую я смог найти о dupDetector, сводилась к сравнению удаленной и предварительной выборки. Я использую только один источник данных, у него просто несколько записей с одинаковым именем.
return remoteMatch.name === localMatch.name
вместоbuilding_name
? - person gmaniac   schedule 09.11.2015