I suspect it is because QueryParser uses space characters to separate different
clauses in a query string while you want the space to represent some content in
your "name" field. Try escaping the space character.
Cheers
Mark
On 9 Feb 2010, at 07:26, Rohit Banga wrote:
> Hello
>
> i have a field that stores names of people. i have used the NOT_ANALYZED
> parameter to index the names.
>
> this is what happens during indexing
>
> doc.add(new Field("name", "\"" + name + "\"", Field.Store.YES,
> Field.Index.NOT_ANALYZED));
>
>
>
> when i search it, i create a query parser using standardanalyzer and append
> ~0.5 to the search query.
>
> the problem is that if the indexed name is "Mr. Kumar", my search does not
> work for "Mr. Kumar" while it does work for "Mr.Kumar" (without the space).
>
> // searching code
> File index_directory = new File(INDEX_DIR_PATH);
> IndexReader reader =
> IndexReader.open(FSDirectory.open(index_directory), true);
> Searcher searcher = new IndexSearcher(reader);
>
> Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
>
> QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "name",
> analyzer);
>
> Query query;
> query = parser.parse(text + "~0.5");
>
> how to make it work?
>
> Rohit Banga
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]