You don't need nextState/nextTransition for serializing, unless you
want to unserialize and then "resume" building an automaton.

Those are only used while building an automaton.

Mike McCandless

http://blog.mikemccandless.com


On Thu, Mar 24, 2016 at 1:20 PM, José Tomás Atria <jtat...@gmail.com> wrote:
> Hi Mike,
>
> Thanks for your reply. I was assuming what you mention about automata being
> just a couple of int arrays, so I went and looked at the code for
> Automaton.copy( Automaton other ), and that is in fact what the code copies
> from the other Automaton:
> int[] states
> int[] transitions
>
> But I got confused, because the copying code makes references to something
> that looks like state variables in the source object:
> int nextState
> int nextTransition
>
> So I'm not sure if it's possible to, for example, reconstruct an automaton
> merely from the states and transitions int[], or if I also need to pay
> attention to the nextState and nextTransition values, that I have no idea
> what they are, or if they are immutable, etc. I have been using factory
> methods to construct all of my automata from strings, so I don't understand
> what this states mean, and whether they are relevant for the automaton's
> _definition_ per opposed to their construction or execution.
>
> Thanks!
> jta
>
>
>
> On Thu, Mar 24, 2016 at 12:54 PM, Michael McCandless <
> luc...@mikemccandless.com> wrote:
>
>> Lucene no longer has Serializable on its classes: the
>> cross-java-version implications are too difficult.  So we expect/rely
>> on the user layer above Lucene to handle any serialization needs.
>>
>> That said, serializing an automaton should be quite simple since the
>> data structure is just int node IDs, marked as accept nodes or not,
>> with connecting transitions that have min/max labels.  You could write
>> that to your own byte stream and re-build the automaton on
>> deserializing.
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Thu, Mar 24, 2016 at 12:08 PM, Erick Erickson
>> <erickerick...@gmail.com> wrote:
>> > I'm really out of my league here, but some of the suggester stuff
>> > builds an image on disk and some of the implementations use FSTs,
>> > which are at least in the ballpark.
>> >
>> > What I'm saying here is that the code may already be in place, or at
>> > least a place to start.
>> >
>> > And I have to ask, "why do you want to do this in the first place?".
>> > What is the problem you're trying to solve anyway?
>> >
>> > Best,
>> > Erick
>> >
>> > On Thu, Mar 24, 2016 at 6:57 AM, McKinley, James T
>> > <james.mckin...@cengage.com> wrote:
>> >> Here's an archive link from this mailing list regarding serializing
>> queries, I guess this would work for Automaton objects as well.
>> >>
>> >>
>> http://mail-archives.apache.org/mod_mbox/lucene-java-user/201603.mbox/browser
>> >>
>> >> Hope it helps.
>> >>
>> >> Jim
>> >> ________________________________________
>> >> From: José Tomás Atria <jtat...@gmail.com>
>> >> Sent: 23 March 2016 19:09
>> >> To: java-user@lucene.apache.org
>> >> Subject: Persistence/Serialization of Automaton
>> >>
>> >> Hello!
>> >>
>> >> Is it possible to serialize Lucene's Automata? I see that the javadoc
>> for
>> >> the original BRICS package indicates that instances of Automaton
>> implement
>> >> Serialzable, but this is not the case with the Automaton class in
>> Lucene 5+.
>> >>
>> >> I assume it is possible, considering that a FSA is basically just a set
>> of
>> >> states and transitions, but how would I go about (1) extracting that
>> data
>> >> from an instance of automaton and (2) recreating the original automaton
>> >> given a set of transitions and states as it would be possible to obtain
>> >> them from a live instance?
>> >>
>> >> Alternatively, maybe there is some other place where this is
>> implemented?
>> >> How can I persist lucene's automata?
>> >>
>> >> thanks,
>> >> jta
>> >>
>> >> --
>> >> entia non sunt multiplicanda praeter necessitatem
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
>> >> For additional commands, e-mail: java-user-h...@lucene.apache.org
>> >>
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
>> > For additional commands, e-mail: java-user-h...@lucene.apache.org
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: java-user-h...@lucene.apache.org
>>
>>
>
>
> --
> entia non sunt multiplicanda praeter necessitatem

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to