/// <summary> /// Adds given values to the filterable field with given name and to the searchable '__content' field /// </summary> /// <param name="document"></param> /// <param name="name"></param> /// <param name="values"></param> public static void AddFilterableAndSearchableValues(this IndexDocument document, string name, ICollection <string> values) { if (values?.Any() == true) { foreach (var value in values) { if (!string.IsNullOrWhiteSpace(value)) { document.Add(new IndexDocumentField(name, value) { IsRetrievable = true, IsFilterable = true, IsCollection = true }); document.AddSearchableValue(value); } } } }
protected virtual void IndexAddress(IndexDocument document, Address address) { document.AddSearchableValue(address.AddressType.ToString()); document.AddSearchableValue(address.Name); document.AddSearchableValue(address.Organization); document.AddSearchableValue(address.CountryCode); document.AddSearchableValue(address.CountryName); document.AddSearchableValue(address.City); document.AddSearchableValue(address.PostalCode); document.AddSearchableValue(address.Zip); document.AddSearchableValue(address.Line1); document.AddSearchableValue(address.Line2); document.AddSearchableValue(address.RegionId); document.AddSearchableValue(address.RegionName); document.AddSearchableValue(address.FirstName); document.AddSearchableValue(address.MiddleName); document.AddSearchableValue(address.LastName); document.AddSearchableValue(address.Phone); document.AddSearchableValue(address.Email); }
protected virtual void IndexVendor(IndexDocument document, Vendor vendor) { document.AddSearchableValue(vendor.Description); document.AddFilterableValue("GroupName", vendor.GroupName); }
protected virtual void IndexNote(IndexDocument document, Note note) { document.AddSearchableValue(note.Title); document.AddSearchableValue(note.Body); }