lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] [Updated] (LUCENE-3233) HuperDuperSynonymsFilterâ„¢
Date Thu, 23 Jun 2011 14:05:47 GMT


Robert Muir updated LUCENE-3233:

    Attachment: LUCENE-3233.patch

here's a rough start to building a datastructure that I think makes good tradeoffs between
RAM and processing.

No matter what, the processing on the filter-side will be hairy because of the 'interleaving'
with the tokenstream.

This one is just an FST<CharsRef,Int[]>(BYTE4) where Int is an ord to a BytesRefHash,
containing the output Bytes for each term.

This way, at input time we can walk the FST with codePointAt()

On both sides, the Chars/Bytes are actually phrases, using \u0000 as a word separator.

> HuperDuperSynonymsFilterâ„¢
> -------------------------
>                 Key: LUCENE-3233
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Robert Muir
>         Attachments: LUCENE-3233.patch
> The current synonymsfilter uses a lot of ram and cpu, especially at build time.
> I think yesterday I heard about "huge synonyms files" three times.
> So, I think we should use an FST-based structure, sharing the inputs and outputs.
> And we should be more efficient with the tokenStream api, e.g. using save/restoreState
instead of cloneAttributes()

This message is automatically generated by JIRA.
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message