Mailing List Archive

automaton incremental updates
Hello,

I was looking for a way to update Non/Deterministic finite automatons with
new data.
Some people pointed out that "Lucene is doing that. You should ask them how
they do it.".
So here i am. I would appreciate it if someone can point me in the right
direction so i can see how you are doing this.
Thank you.
Re: automaton incremental updates [ In reply to ]
Hi,
I can't answer your question but I remember this issue -
https://issues.apache.org/jira/browse/LUCENE-10010

Tomoko


2022?5?6?(?) 2:47 Petar Dambovaliev <petar.atanasov.1987@gmail.com>:

> Hello,
>
> I was looking for a way to update Non/Deterministic finite automatons with
> new data.
> Some people pointed out that "Lucene is doing that. You should ask them
> how they do it.".
> So here i am. I would appreciate it if someone can point me in the right
> direction so i can see how you are doing this.
> Thank you.
>
Re: automaton incremental updates [ In reply to ]
Hi
I'm not sure if I understood your question correctly, but a normal way
lucene update an existing automaton is to intersect or union it with
another one (the new one with the updated data), those operations' code are
collected here:
https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/automaton/Operations.java

Patrick

On Thu, May 5, 2022 at 6:19 PM Tomoko Uchida <tomoko.uchida.1111@gmail.com>
wrote:

> Hi,
> I can't answer your question but I remember this issue -
> https://issues.apache.org/jira/browse/LUCENE-10010
>
> Tomoko
>
>
> 2022?5?6?(?) 2:47 Petar Dambovaliev <petar.atanasov.1987@gmail.com>:
>
>> Hello,
>>
>> I was looking for a way to update Non/Deterministic finite automatons
>> with new data.
>> Some people pointed out that "Lucene is doing that. You should ask them
>> how they do it.".
>> So here i am. I would appreciate it if someone can point me in the right
>> direction so i can see how you are doing this.
>> Thank you.
>>
>
Re: automaton incremental updates [ In reply to ]
There are actually two different automata implementations inside
Lucene - one is a somewhat modified fork of Brics
(https://www.brics.dk/automaton/), which is a great general-purpose
library for handling automata. The other is an algorithm for building
automata (transducers) from sorted input-output pairs based on the
Daciuk-Mihov algorithm. This implementation handles large data very
well because it is compact and fast but requires sorted input. Jan
Daciuk designed an algorithm capable of implementing the construction
from non-sorted input but it's more complex and in practice sorting
typically wins (http://www.jandaciuk.pl/thesis/node9.html).

Dawid

On Thu, May 5, 2022 at 7:47 PM Petar Dambovaliev
<petar.atanasov.1987@gmail.com> wrote:
>
> Hello,
>
> I was looking for a way to update Non/Deterministic finite automatons with new data.
> Some people pointed out that "Lucene is doing that. You should ask them how they do it.".
> So here i am. I would appreciate it if someone can point me in the right direction so i can see how you are doing this.
> Thank you.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org