dtSearch Text Retrieval Engine Programmer's Reference
dtsListIndexJob Structure

List words, fields, or filenames in an index to a file or to a memory buffer

File: dtsearch.h

struct dtsListIndexJob : public dtsJobBase { long outputStringMaxSize; long listFlags; long searchFlags; long fuzziness; const char * toMatch; const char * indexPath; const char * outputFile; dtsStringHandle outputString; long fOutputStringWasTruncated; };

You can use ListIndexFlags to specify the type of information included in the output. 

When listing words, if dtsListIndexIncludeField is not set, then multiple instances of a word in different fields will be aggregated. For example, if "smith" occurs once in the "author" field and once in the "subject" field, that will result in a document count of 2 and a hit count of 2. In this case, the document count may not reflect the possibility that the two instances occur in the same document. To prevent this type of inaccuracy in the output, the dtsListIndexIncludeField flag can be used to distinguish instances in different fields. 

For speed, ListIndexJob does not actually enumerate the references for each word and instead relies on counts incrementally stored in the index. Therefore, the reported counts may include artifacts of the indexing process such as reindexed or removed documents, so the counts may be higher than the actual count of references in the index. Compressing an index will remove these extra references.