Hello,

I have a full-text index defined on a database with 21,936,670 entries. I'm hitting a stack overflow error when I try to query the following (normalized) string with a fuzzy query:

"sajawandi, siraj al-din muhammad ibn muhammad, active 12th century. faraʼid al-sirajiyah"

The index entries look like this:

<d a="http://id.loc.gov/authorities/names/n2008037847">
  <n>Sajāwandī, Sirāj al-Dīn Muḥammad ibn Muḥammad, active 12th century. Farāʼiḍ al-Sirājīyah</n>
  <d>12th cent.</d>
</d>

If I create a new DB ("ftindex-test") with only that one entry and try the following lookup, it works:

ft:search(
  "ftindex-test",
  "sajawandi, siraj al-din muhammad ibn muhammad, active 12th century. faraʼid al-sirajiyah"
  , map {"mode": "phrase", "content": "entire", "fuzzy": true()}
)/..

However, if I try the same query against the full index (with ~22 million entries), it fails with a stack overflow error:

[qtp1546693040-47] WARN org.eclipse.jetty.server.HttpChannel - /dba/query-eval
java.lang.StackOverflowError
at org.basex.index.query.FTIndexIterator$2.pos(FTIndexIterator.java:73)
at org.basex.index.query.FTIndexIterator$2.pos(FTIndexIterator.java:74)
...

If I remove the "fuzzy" parameter, the query does work against the full index. Is this a bug, a known limitation here, or something that I'm missing?

Thanks in advance,
Tim


--
Tim A. Thompson
Metadata Librarian
Yale University Library