List all values of an enumerable field.
Parameters |
Description |
---|---|
const char * fieldName |
The name of the field to enumerate |
const char * toMatch |
The expression to match, which may include wildcards |
long maxWords |
Maximum number of words to include in the list |
The field must have been designated as an enumerable field (in dtsIndexJob.enumerableFields) when the index was created. If fieldName is not an enumerable field, no values will be returned.
The maximum amount of text that can be stored in each stored field is the lesser of the maxStoredFieldSize option setting or 127 characters, including the field name.
To limit the values returned to documents that are part of search results, use setSearchFilter.
To improve performance in cases where the same field values have to be enumerated repeatedly with different SearchFilters, you can set the flag dtsWordListEnableFieldValuesCache using setFlags(). This will make listFieldValues calls from the same WordListBuilder faster at the cost of substantial memory use, because the field values and occurrences in the index will be stored in memory until the WordListBuilder is deleted. The amount of memory required is proportional to the number of documents in the index times the number of values in the enumerable field that is cached.