Mailing List Archive

RE: org.apache.lucene.document.Document.getFields(String name) me thod?
Multiple fields with the same name are indeed supported. Currently, if you
have multiple values for a given field name in a Document, then you must
enumerate all of the fields with Document.field() to find the multiple
values.

It would be good to add the following Document methods:
Field[] getFields(String name);
String[] getValues(String name);

Doug

> -----Original Message-----
> From: Otis Gospodnetic
> [mailto:otis_gospodnetic.at.yahoo.com@apache.at.lucene.com]
> Sent: Monday, May 06, 2002 8:11 PM
> To: dcutting@grandcentral.com
> Subject: Re:
> org.apache.lucene.document.Document.getFields(String name)
> method?
>
>
> I'm not sure...
> Can you really add multiple fields with the same name to the index?
>
> Check this method comment in Document.java:
> /** Adds a field to a document. Several fields may be added with
> * the same name. In this case, if the fields are indexed, their
> * text is treated as though appended for the purposes of search.
> */
> public final void add(Field field)
>
> It sounds like indexed fields are just concatenated (into a single
> field with the given name). I'm not sure what happens with
> non-indexed
> fields.
>
> Does Lucene store multiple values for the same field name in
> such a way
> that you can retrieve them separately?
>
> Thanks,
> Otis
>
>
> --- Martin_Sévigny <sevigny@ajlsm.com> wrote:
> > Hi,
> >
> > The method org.apache.lucene.document.Document.getField(String name)
> > is
> > documented as this :
> >
> > "Returns a field with the given name if any exist in this document,
> > or
> > null. If multiple fields may exist with this name, this method
> > returns
> > the last added such added."
> >
> > I'm wondering why the limit for multiple fields. In some cases, I'm
> > interested in retrieving all the values for a field. Looking at the
> > code, I see that it returns a field as soon as it finds one with the
> > right name :
> >
> > -----
> > for (DocumentFieldList list = fieldList; list != null; list =
> > list.next)
> > if (list.field.name().equals(name))
> > return list.field;
> > -----
> >
> > Would it be possible to add something like a "public Field[]
> > getFields(String name)" method to the Document class? It is pretty
> > simple to write, I can send the code if needed.
> >
> > Thank's,
> >
> > Martin Sévigny
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com
>
> --
> To unsubscribe, e-mail:
<mailto:lucene-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-dev-help@jakarta.apache.org>

--
To unsubscribe, e-mail: <mailto:lucene-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-dev-help@jakarta.apache.org>
RE: org.apache.lucene.document.Document.getFields(String name) me thod? [ In reply to ]
Multiple fields with the same name are indeed supported. Currently, if you
have multiple values for a given field name in a Document, then you must
enumerate all of the fields with Document.field() to find the multiple
values.

It would be good to add the following Document methods:
Field[] getFields(String name);
String[] getValues(String name);

Doug

> -----Original Message-----
> From: Otis Gospodnetic
> [mailto:otis_gospodnetic.at.yahoo.com@apache.at.lucene.com]
> Sent: Monday, May 06, 2002 8:11 PM
> To: dcutting@grandcentral.com
> Subject: Re:
> org.apache.lucene.document.Document.getFields(String name)
> method?
>
>
> I'm not sure...
> Can you really add multiple fields with the same name to the index?
>
> Check this method comment in Document.java:
> /** Adds a field to a document. Several fields may be added with
> * the same name. In this case, if the fields are indexed, their
> * text is treated as though appended for the purposes of search.
> */
> public final void add(Field field)
>
> It sounds like indexed fields are just concatenated (into a single
> field with the given name). I'm not sure what happens with
> non-indexed
> fields.
>
> Does Lucene store multiple values for the same field name in
> such a way
> that you can retrieve them separately?
>
> Thanks,
> Otis
>
>
> --- Martin_Sévigny <sevigny@ajlsm.com> wrote:
> > Hi,
> >
> > The method org.apache.lucene.document.Document.getField(String name)
> > is
> > documented as this :
> >
> > "Returns a field with the given name if any exist in this document,
> > or
> > null. If multiple fields may exist with this name, this method
> > returns
> > the last added such added."
> >
> > I'm wondering why the limit for multiple fields. In some cases, I'm
> > interested in retrieving all the values for a field. Looking at the
> > code, I see that it returns a field as soon as it finds one with the
> > right name :
> >
> > -----
> > for (DocumentFieldList list = fieldList; list != null; list =
> > list.next)
> > if (list.field.name().equals(name))
> > return list.field;
> > -----
> >
> > Would it be possible to add something like a "public Field[]
> > getFields(String name)" method to the Document class? It is pretty
> > simple to write, I can send the code if needed.
> >
> > Thank's,
> >
> > Martin Sévigny
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com
>
> --
> To unsubscribe, e-mail:
<mailto:lucene-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-dev-help@jakarta.apache.org>

--
To unsubscribe, e-mail: <mailto:lucene-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-dev-help@jakarta.apache.org>
RE: org.apache.lucene.document.Document.getFields(String name) me thod? [ In reply to ]
Multiple fields with the same name are indeed supported. Currently, if you
have multiple values for a given field name in a Document, then you must
enumerate all of the fields with Document.field() to find the multiple
values.

It would be good to add the following Document methods:
Field[] getFields(String name);
String[] getValues(String name);

Doug

> -----Original Message-----
> From: Otis Gospodnetic
> [mailto:otis_gospodnetic.at.yahoo.com@apache.at.lucene.com]
> Sent: Monday, May 06, 2002 8:11 PM
> To: dcutting@grandcentral.com
> Subject: Re:
> org.apache.lucene.document.Document.getFields(String name)
> method?
>
>
> I'm not sure...
> Can you really add multiple fields with the same name to the index?
>
> Check this method comment in Document.java:
> /** Adds a field to a document. Several fields may be added with
> * the same name. In this case, if the fields are indexed, their
> * text is treated as though appended for the purposes of search.
> */
> public final void add(Field field)
>
> It sounds like indexed fields are just concatenated (into a single
> field with the given name). I'm not sure what happens with
> non-indexed
> fields.
>
> Does Lucene store multiple values for the same field name in
> such a way
> that you can retrieve them separately?
>
> Thanks,
> Otis
>
>
> --- Martin_Sévigny <sevigny@ajlsm.com> wrote:
> > Hi,
> >
> > The method org.apache.lucene.document.Document.getField(String name)
> > is
> > documented as this :
> >
> > "Returns a field with the given name if any exist in this document,
> > or
> > null. If multiple fields may exist with this name, this method
> > returns
> > the last added such added."
> >
> > I'm wondering why the limit for multiple fields. In some cases, I'm
> > interested in retrieving all the values for a field. Looking at the
> > code, I see that it returns a field as soon as it finds one with the
> > right name :
> >
> > -----
> > for (DocumentFieldList list = fieldList; list != null; list =
> > list.next)
> > if (list.field.name().equals(name))
> > return list.field;
> > -----
> >
> > Would it be possible to add something like a "public Field[]
> > getFields(String name)" method to the Document class? It is pretty
> > simple to write, I can send the code if needed.
> >
> > Thank's,
> >
> > Martin Sévigny
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com
>
> --
> To unsubscribe, e-mail:
<mailto:lucene-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-dev-help@jakarta.apache.org>

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