GeneralizedSuffixArray
Defined in: packages/data/src/substring/generalized-suffix-array.ts:30
A substring index over many strings at once.
The documents are concatenated with a separator and indexed as one SuffixArray, so “which documents contain this substring” costs one search rather than one per document — the difference between O(m log N) and O(d · m log n).
Static, like SuffixArray: the whole corpus is given at construction.
Throws
Section titled “Throws”If any document contains U+0000, which is reserved as
the internal separator.
Implements
Section titled “Implements”ISubstringIndex<string>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new GeneralizedSuffixArray(
documents):GeneralizedSuffixArray
Defined in: packages/data/src/substring/generalized-suffix-array.ts:36
Parameters
Section titled “Parameters”documents
Section titled “documents”readonly string[]
Returns
Section titled “Returns”GeneralizedSuffixArray
Properties
Section titled “Properties”documents
Section titled “documents”
readonlydocuments: readonlystring[]
Defined in: packages/data/src/substring/generalized-suffix-array.ts:36
Methods
Section titled “Methods”count()
Section titled “count()”count():
number
Defined in: packages/data/src/substring/generalized-suffix-array.ts:57
The number of documents indexed.
Returns
Section titled “Returns”number
has(
needle):boolean
Defined in: packages/data/src/substring/generalized-suffix-array.ts:89
O(m log N).
Parameters
Section titled “Parameters”needle
Section titled “needle”string
Returns
Section titled “Returns”boolean
Implementation of
Section titled “Implementation of”matches()
Section titled “matches()”matches(
needle):IterableIterator<DocumentMatch>
Defined in: packages/data/src/substring/generalized-suffix-array.ts:98
Every occurrence, as a document index and an offset within it.
Parameters
Section titled “Parameters”needle
Section titled “needle”string
Returns
Section titled “Returns”IterableIterator<DocumentMatch>
search()
Section titled “search()”search(
needle):IterableIterator<number>
Defined in: packages/data/src/substring/generalized-suffix-array.ts:67
The indices of every document containing needle, ascending and
deduplicated.
Use matches for the offsets within each document.
Parameters
Section titled “Parameters”needle
Section titled “needle”string
Returns
Section titled “Returns”IterableIterator<number>