Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Lucene: Java-User

prefix query works, term query does not

 

 

Lucene java-user RSS feed   Index | Next | Previous | View Threaded


efkarr at gmail

Feb 16, 2012, 12:34 AM

Post #1 of 3 (324 views)
Permalink
prefix query works, term query does not

Hello,
I have a noobie question. I am trying to implement a small poc app.I have
lots of sharded indexes in a folder and i am trying to read them like this:
MultiReader reader = new MultiReader(list.toArray(new
IndexReader[list.size()]));
IndexSearcher searcher = new IndexSearcher(reader,
Executors.newFixedThreadPool(6));

then i am getting the query from the command line and executing it like
this:
QueryParser parser = new QueryParser(Version.LUCENE_35,
"default-field", new StandardAnalyzer(Version.LUCENE_35));
Query q = parser.parse(query);

i dont have a default-field actually but i could not figure out what else
to put in there.

Anyway leys say i have an IP address in one of the fields, when i query it
like this:
ip=8.8.8.*
ip=8.8.8.8*
i am able to find it but when i query it with the exact value:
ip=8.8.8.8
there are no hits.

I am able to query it successfully on the same index using luke,

Does anyone have a pointer about what is it that i am doing wrong?

Cheers
Mete


ian.lea at gmail

Feb 16, 2012, 3:02 AM

Post #2 of 3 (295 views)
Permalink
Re: prefix query works, term query does not [In reply to]

http://wiki.apache.org/lucene-java/LuceneFAQ#Why_am_I_getting_no_hits_.2BAC8_incorrect_hits.3F

Different analyzers for indexing and searching would be my first guess.


--
Ian.

On Thu, Feb 16, 2012 at 8:34 AM, mete <efkarr [at] gmail> wrote:
> Hello,
> I have a noobie question. I am trying to implement a small poc app.I have
> lots of sharded indexes in a folder and i am trying to read them like this:
> MultiReader reader = new MultiReader(list.toArray(new
> IndexReader[list.size()]));
> IndexSearcher searcher = new IndexSearcher(reader,
> Executors.newFixedThreadPool(6));
>
> then i am getting the query from the command line and executing it like
> this:
> QueryParser parser = new QueryParser(Version.LUCENE_35,
> "default-field", new StandardAnalyzer(Version.LUCENE_35));
> Query q = parser.parse(query);
>
> i dont have a default-field actually but i could not figure out what else
> to put in there.
>
> Anyway leys say i have an IP address in one of the fields, when i query it
> like this:
> ip=8.8.8.*
> ip=8.8.8.8*
> i am able to find it but when i query it with the exact value:
> ip=8.8.8.8
> there are no hits.
>
> I am able to query it successfully on the same index using luke,
>
> Does anyone have a pointer about what is it that i am doing wrong?
>
> Cheers
> Mete

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe [at] lucene
For additional commands, e-mail: java-user-help [at] lucene


flozano at gmail

Feb 16, 2012, 3:13 AM

Post #3 of 3 (295 views)
Permalink
Re: prefix query works, term query does not [In reply to]

Use luke to see what terms are in your index and what your query looks
like when parsed.

Also, when I want to search the field with all the analysis stuff but
also be able to search by exact keyword, I index it twice, with two
fields with the same name: one of them is analyzed and the other not.
It's hacky and probably incorrect, but it works...

Francisco A. Lozano



On Thu, Feb 16, 2012 at 09:34, mete <efkarr [at] gmail> wrote:
> Hello,
> I have a noobie question. I am trying to implement a small poc app.I have
> lots of sharded indexes in a folder and i am trying to read them like this:
>        MultiReader reader = new MultiReader(list.toArray(new
> IndexReader[list.size()]));
>        IndexSearcher searcher = new IndexSearcher(reader,
> Executors.newFixedThreadPool(6));
>
> then i am getting the query from the command line and executing it like
> this:
>        QueryParser parser = new QueryParser(Version.LUCENE_35,
> "default-field", new StandardAnalyzer(Version.LUCENE_35));
>        Query q = parser.parse(query);
>
> i dont have a default-field actually but i could not figure out what else
> to put in there.
>
> Anyway leys say i have an IP address in one of the fields, when i query it
> like this:
> ip=8.8.8.*
> ip=8.8.8.8*
> i am able to find it but when i query it with the exact value:
> ip=8.8.8.8
> there are no hits.
>
> I am able to query it successfully on the same index using luke,
>
> Does anyone have a pointer about what is it that i am doing wrong?
>
> Cheers
> Mete

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe [at] lucene
For additional commands, e-mail: java-user-help [at] lucene

Lucene java-user RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.