Hi,

I am Trying to do Multiphrase Query in Lucene 4.3. It is working Perfect
for all scenarios except the below scenario.
When I try to Search for a phrase which is preceded by any punctuation,it
is not working..

TextContent:  Dremel is a scalable, interactive ad-hoc query system for
analysis
of read-only nested data. By combining multi-level execution
trees and columnar data layout, it is capable of running aggregation

Search phrase :  interactive adhoc

The Above Search is failing because "interactive adhoc" is preceded by ","
in original text.


I am Doing Indexing like this..Sample Code for Indexing.I have used
whitespace analyzer.

Document doc = new Document();

contents ="Dremel is a scalable, interactive ad-hoc query system for
analysis
of read-only nested data. By combining multi-level execution
trees and columnar data layout, it is capable of running aggregation";

FieldType offsetsType = new FieldType(TextField.TYPE_STORED);

Field field =new Field("content","", offsetsType);

doc.add(field);
field.setStringValue(contents);

mWriter.addDocument(doc);

In the Search I am forming MultiphraseQueryObject and adding the tokens of
the search Phrase.

Before Adding the tokens,I validated like this

LinkedList<Term> termsWithPrefix = new LinkedList<Term>(); trm.seekCeil(new
BytesRef(word)); do { String s = trm.term().utf8ToString(); if
(s.startsWith(word)) { termsWithPrefix.add(new Term("content", s)); } else
{ break; } } while (trm.next() != null);
mpquery.add(termsWithPrefix.toArray(new Term[0])); }

It is working for all scenarios except the scenarios where the search
phrase is preceded by punctuation.

In case of text preceded by punctuation trm.seekCeil(new BytesRef(word));
is pointing a diffrent word which actually causes the problem..

Please kindly help..


-- 
Thanks and Regards
Vignesh Srinivasan

Reply via email to