FAQ
I need to be able to search over multiple fields at the same time. The
suggestions I have seen so far to solve this problem are either:

1. Use a boolean query, or
2. During indexing, create an extra "all" field and add it every time
another field is added to the document.

However, 1. may make the query very large and inefficient, and 2. is
problematic with fields built from a Reader, because the Reader gets closed
after the first field is indexed (and using a cloned Reader would require
running a text extractor twice, which sounds wasteful of CPU cycles).

Would it be possible to add to the API some method to add in on stroke
multiple fields that share a same Reader, while using that Reader only once,
or to define fields with an array of names (such as Field f = new
Field(String[], Reader) ) rather than a single name?

If not, are there alternative ways to achieve my goal, other than
pre-reading the data into a String, which is obviously dangerous because it
can cause a memory allocation failure if the end of file doesn't arrive soon
enough?

Thanks --

Enzo


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

Search Discussions

  • Chris Hostetter at Oct 15, 2006 at 5:03 am
    : problematic with fields built from a Reader, because the Reader gets closed
    : after the first field is indexed (and using a cloned Reader would require
    : running a text extractor twice, which sounds wasteful of CPU cycles).
    :
    : Would it be possible to add to the API some method to add in on stroke
    : multiple fields that share a same Reader, while using that Reader only once,
    : or to define fields with an array of names (such as Field f = new
    : Field(String[], Reader) ) rather than a single name?

    I second Otis comments, but if you really want to "double up" your ata
    into multiple fields, the simplest way to do this is reading from the
    Reader yourself, buffering the data and passing it to each of the Field
    instances seperately.

    In general, different Tokenizers can be used for different fields, so
    there's no general purpose way to impliment a method like you describe
    that i can think of (because hte tokenizer is what reads from the Reader)



    -Hoss


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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdev @
categorieslucene
postedOct 15, '06 at 4:18a
activeOct 15, '06 at 5:03a
posts2
users2
websitelucene.apache.org

People

Translate

site design / logo © 2021 Grokbase