I have mixed thoughts on whether these fields should be pointers.  Since this struct is read-only, it's not strictly necessary in way that it is for other structs.  Nevertheless, it would be more consistent with the rest of the library (and even the other search-related structs) if they were pointers.