Вам может потребоваться изменить метод в Advanced Database Crawler для обработки GUID переданных шаблонов. У класса SearchParam
есть свойство с именем TemplateIds
, которое во множественном числе указывает, что оно должно разрешать более одного. Однако, если вы посмотрите на код, вот как он используется:
templateIds = IdHelper.NormalizeGuid(templateIds);
Метод NormalizeGuid()
на самом деле возвращает только один GUID . Поэтому я рекомендую вам изменить метод ApplyTemplateFilter()
, чтобы он возвращал несколько GUID шаблона:
protected void ApplyTemplateFilter(CombinedQuery query, string templateIds, QueryOccurance occurance)
{
if (String.IsNullOrEmpty(templateIds)) return;
templateIds = IdHelper.NormalizeGuid(templateIds);
var fieldQuery = new FieldQuery(BuiltinFields.Template, templateIds);
query.Add(fieldQuery, occurance);
}
Так что измените templateIds = IdHelper.NormalizeGuid(templateIds)
для обработки нескольких GUID, возможно, разделив входные данные на |
, чтобы получить каждый GUID, затем нормализуя каждый из них и объединяя их снова через |
.