Description = String.Format("{0} {1} {2} - {3}", r["Name"].ToString(), r["Surname"].ToString(), r["RegistrationNumber"].ToString(), r["Membership"].ToString()).Replace(" "," "),
An what is that last Replace statement above?, well, I do not like the way where code tries to "invent" what the description should be by breaking my description into unreadable snippets of text.
THEREFORE, the only way I have found to overcome where my description is processed by the build-in "snippets" routine in the search results, is to force my description as a big piece of text, without space ( Replace(" "," ") ). I wish there was an nicer way, but could not find something.
Permissions
The permissions property i have found very confusing. The documentation state either roles or users. I could not get user(s) to work, neither roles. Just role (single role) does work.
Further, the type is string, ??? That is confusing.... if multiple roles can be passed, why is it a string, and not some kind of array (list etc). Is a csv string what is expected, no, cause that does not work.
Not to allow multiple roles is a problem for modules that list multiple content (records in this case). Its find for TEXT, because you can either view it or not, but for records, it would have been really nice if you could specify what users can view which records by passing a list of values or array into the Permission property.
Multiple roles is not helpful, (can't create a role for each user).
Except for the above mentioned, the rest is easy, and its by miles faster than the old DNN search (in indexing and finding results).