List Info

Thread: RE: Running query text through an Analyzer without QueryParser?




RE: Running query text through an Analyzer without QueryParser?
country flaguser name
Netherlands
2007-07-30 13:04:53
> 
> So then would I just concatenate the tokens together to
form 
> the query text?

You might better create a TermQuery for each token instead
of concatenating, and combine them in a BooleanQuery and say
wether all terms must or should occur. Very simple, see [1]

Regards Ard

[1] 
http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightl
y/javadoc/org/apache/lucene/search/BooleanQuery.html

> 
> -- 
> Joe Attardi
> jattardigmail.com
> http://thinksincode
.blogspot.com/
> 
> On 7/30/07, Erick Erickson <erickericksongmail.com> wrote:
> >
> > Would this work?
> >
> > TokenStream ts =  StandardAnalyzer.tokenStream();
> > while ((Token tok = ts.next()) != null) {
> >     do whatever
> > }
> >
> > Best
> > Erick
> >
> > On 7/30/07, Joe Attardi <jattardigmail.com> wrote:
> > >
> > > Following up on my recent question. It has
been suggested 
> to me that I
> > can
> > > run the query text through an Analyzer
without using the 
> QueryParser.
> > For
> > > example, if I know what field to be searched
I can create 
> a PrefixQuery
> > or
> > > WildcardQuery, but still want to process the
search text 
> with the same
> > > Analyzer that did the indexing. How do I run
a query 
> through an Analyzer
> > > without using the QueryParser... is this
possible?
> > >
> >
> 

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-user-unsubscribelucene.apache.org
For additional commands, e-mail: java-user-helplucene.apache.org


Re: Running query text through an Analyzer without QueryParser?
user name
2007-07-30 16:25:58
What about the case where I want to search a MAC address?
For example,
00:14:da:81:21:4f will be split by the StandardTokenizer as
the tokens
"00", "14", "da",
"81", "21", and "4f".

Suppose I want to search for 00:14:da:81:21:4f. In the
search box, I type
00:14:da:81:21:4f. But because these are all separate
tokens, it would still
find a match if it had all the tokens but in a different
order - for
example, that query would also find a MAC of
da:14:4f:21:00:81. Is there
some way to enforce the order in which terms appear, or
should I just index
a MAC address as UN_TOKENIZED ?

Thanks

-- 
Joe Attardi
jattardigmail.com
http://thinksincode
.blogspot.com/

On 7/30/07, Ard Schrijvers <a.schrijvershippo.nl> wrote:
>
>
> >
> > So then would I just concatenate the tokens
together to form
> > the query text?
>
> You might better create a TermQuery for each token
instead of
> concatenating, and combine them in a BooleanQuery and
say wether all terms
> must or should occur. Very simple, see [1]
>
> Regards Ard
>
> [1]
> 
http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightl
y/javadoc/org/apache/lucene/search/BooleanQuery.html
>
> >
> > --
> > Joe Attardi
> > jattardigmail.com
> > http://thinksincode
.blogspot.com/
> >
> > On 7/30/07, Erick Erickson <erickericksongmail.com> wrote:
> > >
> > > Would this work?
> > >
> > > TokenStream ts = 
StandardAnalyzer.tokenStream();
> > > while ((Token tok = ts.next()) != null) {
> > >     do whatever
> > > }
> > >
> > > Best
> > > Erick
> > >
> > > On 7/30/07, Joe Attardi <jattardigmail.com> wrote:
> > > >
> > > > Following up on my recent question. It
has been suggested
> > to me that I
> > > can
> > > > run the query text through an Analyzer
without using the
> > QueryParser.
> > > For
> > > > example, if I know what field to be
searched I can create
> > a PrefixQuery
> > > or
> > > > WildcardQuery, but still want to process
the search text
> > with the same
> > > > Analyzer that did the indexing. How do I
run a query
> > through an Analyzer
> > > > without using the QueryParser... is this
possible?
> > > >
> > >
> >
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: java-user-unsubscribelucene.apache.org
> For additional commands, e-mail: java-user-helplucene.apache.org
>
>
Re: Running query text through an Analyzer without QueryParser?
user name
2007-07-30 19:01:09
*SpanNearQuery<file:///C:/lucene-2.1.0/docs/api/org/apach
e/lucene/search/spans/SpanNearQuery.html#SpanNearQuery%28org
.apache.lucene.search.spans.SpanQuery%5B%5D,%20int,%20boolea
n%29>
*(SpanQuery<file:///C:/lucene-2.1.0/docs/api/org/apache/l
ucene/search/spans/SpanQuery.html>[]
clauses,
int slop, boolean inOrder)

Erick

On 7/30/07, Joe Attardi <jattardigmail.com> wrote:
>
> What about the case where I want to search a MAC
address? For example,
> 00:14:da:81:21:4f will be split by the
StandardTokenizer as the tokens
> "00", "14", "da",
"81", "21", and "4f".
>
> Suppose I want to search for 00:14:da:81:21:4f. In the
search box, I type
> 00:14:da:81:21:4f. But because these are all separate
tokens, it would
> still
> find a match if it had all the tokens but in a
different order - for
> example, that query would also find a MAC of
da:14:4f:21:00:81. Is there
> some way to enforce the order in which terms appear, or
should I just
> index
> a MAC address as UN_TOKENIZED ?
>
> Thanks
>
> --
> Joe Attardi
> jattardigmail.com
> http://thinksincode
.blogspot.com/
>
> On 7/30/07, Ard Schrijvers <a.schrijvershippo.nl> wrote:
> >
> >
> > >
> > > So then would I just concatenate the tokens
together to form
> > > the query text?
> >
> > You might better create a TermQuery for each token
instead of
> > concatenating, and combine them in a BooleanQuery
and say wether all
> terms
> > must or should occur. Very simple, see [1]
> >
> > Regards Ard
> >
> > [1]
> >
> 
http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightl
y/javadoc/org/apache/lucene/search/BooleanQuery.html
> >
> > >
> > > --
> > > Joe Attardi
> > > jattardigmail.com
> > > http://thinksincode
.blogspot.com/
> > >
> > > On 7/30/07, Erick Erickson
<erickericksongmail.com> wrote:
> > > >
> > > > Would this work?
> > > >
> > > > TokenStream ts = 
StandardAnalyzer.tokenStream();
> > > > while ((Token tok = ts.next()) != null)
{
> > > >     do whatever
> > > > }
> > > >
> > > > Best
> > > > Erick
> > > >
> > > > On 7/30/07, Joe Attardi <jattardigmail.com> wrote:
> > > > >
> > > > > Following up on my recent question.
It has been suggested
> > > to me that I
> > > > can
> > > > > run the query text through an
Analyzer without using the
> > > QueryParser.
> > > > For
> > > > > example, if I know what field to be
searched I can create
> > > a PrefixQuery
> > > > or
> > > > > WildcardQuery, but still want to
process the search text
> > > with the same
> > > > > Analyzer that did the indexing. How
do I run a query
> > > through an Analyzer
> > > > > without using the QueryParser... is
this possible?
> > > > >
> > > >
> > >
> >
> >
------------------------------------------------------------
---------
> > To unsubscribe, e-mail: java-user-unsubscribelucene.apache.org
> > For additional commands, e-mail:
java-user-helplucene.apache.org
> >
> >
>
[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )