Or, " (double quotation) in your query string may affect query parsing.

When I parse this string by classic query parser (lucene 8.1),
street="MAINS~"
parsed (raw) query is
text:street text:mains
(I set the default search field to "text", so text:xxxx is appeared here.)

Query parsing is a complex process, so it would be good to check
parsed raw query string especially when you have (reserved) special
characters in your query...

2019年6月11日(火) 1:10 Tomoko Uchida <tomoko.uchida.1...@gmail.com>:
>
> Hi,
>
> I noticed one small thing in your previous mail.
>
> > when i use q1 = parser.parse("street=\"MAIN\""); i get same results
> which is good.
>
> To specify a search field, ":" (colon) should be used instead of "=".
> See the query parser documentation:
> http://lucene.apache.org/core/8_1_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#Fields
>
> I'm not sure this is related to your problem.
>
> 2019年6月11日(火) 0:51 <baris.ka...@oracle.com>:
> >
> > booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > "city=\"NASHUA\""), BooleanClause.Occur.MUST);
> >          booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > "region=\"NEW HAMPSHIRE\""), BooleanClause.Occur.MUST);
> >          booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > "country=\"UNITED STATES\""), BooleanClause.Occur.MUST);
> >
> >          org.apache.lucene.queryparser.classic.QueryParser parser = new
> > org.apache.lucene.queryparser.classic.QueryParser(field, phraseAnalyzer) ;
> >          Query q1 = null;
> >          try {
> >              q1 = parser.parse("MAIN");
> >          } catch (ParseException e) {
> >
> >              e.printStackTrace();
> >          }
> >          booleanQuery.add(q1, BooleanClause.Occur.SHOULD);
> >
> > testQuerySearch2 Time to compute: 0 seconds
> > Number of results: 1775
> > Name: Main St
> > Score: 37.20959
> > ID: 12681979
> > Country Code: US
> > Coordinates: 42.76416, -71.46681
> > Search Key: street="MAIN" city="NASHUA" municipality="HILLSBOROUGH"
> > region="NEW HAMPSHIRE" country="UNITED STATES"
> >
> > Name: Main St
> > Score: 37.20959
> > ID: 12681977
> > Country Code: US
> > Coordinates: 42.747, -71.45957
> > Search Key: street="MAIN" city="NASHUA" municipality="HILLSBOROUGH"
> > region="NEW HAMPSHIRE" country="UNITED STATES"
> >
> > Name: Main St
> > Score: 37.20959
> > ID: 12681978
> > Country Code: US
> > Coordinates: 42.73492, -71.44951
> > Search Key: street="MAIN" city="NASHUA" municipality="HILLSBOROUGH"
> > region="NEW HAMPSHIRE" country="UNITED STATES"
> >
> >   when i use q1 = parser.parse("street=\"MAIN\""); i get same results
> > which is good.
> >
> > But when i switch to MAINS~ then fuzzy query does not work.
> >
> >
> > i need to say something with the q1 only in the booleanquery:
> > it tries to match the MAIN in street, city, region and country which are
> > in a single TextField field.
> > But i dont want this. that is why i need to street="..." etc when searching.
> >
> > Best regards
> >
> >
> >
> > On 6/10/19 11:31 AM, Tomoko Uchida wrote:
> > > Hi,
> > >
> > > just for the basic verification, can you find the document without
> > > fuzzy query? I mean, does this query work for you?
> > >
> > > Query query = parser.parse("MAIN");
> > >
> > > Tomoko
> > >
> > > 2019年6月11日(火) 0:22 <baris.ka...@oracle.com>:
> > >> why cant the second set not work at all?
> > >>
> > >> it is indexed as Textfield like street="..." city="..." etc.
> > >>
> > >> Best regards
> > >>
> > >>
> > >>
> > >> On 6/10/19 11:23 AM, baris.ka...@oracle.com wrote:
> > >>> i dont know how to use Fuzzyquery with queryparser but probably You
> > >>> are suggesting
> > >>>
> > >>> QueryParser parser = new QueryParser(field, analyzer) ;
> > >>> Query query = parser.parse("MAINS~2");
> > >>>
> > >>> booleanQuery.add(query, BooleanClause.Occur.SHOULD);
> > >>>
> > >>> am i right?
> > >>> Best regards
> > >>>
> > >>>
> > >>> On 6/10/19 10:47 AM, Atri Sharma wrote:
> > >>>> I would suggest using a QueryParser for your fuzzy query before
> > >>>> adding it to the Boolean query. This should weed out any case issues.
> > >>>>
> > >>>> On Mon, 10 Jun 2019 at 8:06 PM, <baris.ka...@oracle.com
> > >>>> <mailto:baris.ka...@oracle.com>> wrote:
> > >>>>
> > >>>>      BooleanQuery.Builder booleanQuery = new BooleanQuery.Builder();
> > >>>>
> > >>>>      //First set
> > >>>>
> > >>>>              booleanQuery.add(new FuzzyQuery(new
> > >>>>      org.apache.lucene.index.Term(field, "MAINS")),
> > >>>>      BooleanClause.Occur.SHOULD);
> > >>>>      booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > >>>>      "NASHUA"), BooleanClause.Occur.MUST);
> > >>>>      booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > >>>>      "NEW HAMPSHIRE"), BooleanClause.Occur.MUST);
> > >>>>      booleanQuery.add(Utils.createPhraseQuery(phraseAnalyzer, field,
> > >>>>      "UNITED STATES"), BooleanClause.Occur.MUST);
> > >>>>
> > >>>>      // Second set
> > >>>>               //booleanQuery.add(new FuzzyQuery(new
> > >>>>      org.apache.lucene.index.Term(field, "street=\"MAINS\"")),
> > >>>>      BooleanClause.Occur.SHOULD);
> > >>>> //booleanQuery.add(Utils.createPhraseQueryFullText(phraseAnalyzer,
> > >>>>      field, "city=\"NASHUA\""), BooleanClause.Occur.MUST);
> > >>>> //booleanQuery.add(Utils.createPhraseQueryFullText(phraseAnalyzer,
> > >>>>      field, "region=\"NEW HAMPSHIRE\""), BooleanClause.Occur.MUST);
> > >>>> //booleanQuery.add(Utils.createPhraseQueryFullText(phraseAnalyzer,
> > >>>>      field, "country=\"UNITED STATES\""), BooleanClause.Occur.MUST);
> > >>>>
> > >>>>      The first set brings also street with Nashua name. (NASHUA).
> > >>>>
> > >>>>      so, to prevent that and since i also indexed with street="..."
> > >>>>      city="..." i did the second set but it does not bring anything.
> > >>>>
> > >>>>      createPhraseQuery builds a Phrasequery with one term equal to the
> > >>>>      string
> > >>>>      in the call.
> > >>>>
> > >>>>      Best regards
> > >>>>
> > >>>>
> > >>>>
> > >>>>      On 6/10/19 10:47 AM, baris.ka...@oracle.com
> > >>>>      <mailto:baris.ka...@oracle.com> wrote:
> > >>>>      > How do i check how it is indexed? lowecase or uppercase?
> > >>>>      >
> > >>>>      > only way is now to by testing.
> > >>>>      >
> > >>>>      > i am using standardanalyzer.
> > >>>>      >
> > >>>>      > Best regards
> > >>>>      >
> > >>>>      >
> > >>>>      > On 6/9/19 11:57 AM, Atri Sharma wrote:
> > >>>>      >> On Sun, Jun 9, 2019 at 8:53 PM Tomoko Uchida
> > >>>>      >> <tomoko.uchida.1...@gmail.com
> > >>>>      <mailto:tomoko.uchida.1...@gmail.com>> wrote:
> > >>>>      >>> Hi,
> > >>>>      >>>
> > >>>>      >>> What analyzer do you use for the text field? Is the term 
> > >>>> "Main"
> > >>>>      >>> correctly indexed?
> > >>>>      >> Agreed. Also, it would be good if you could post your actual
> > >>>> code.
> > >>>>      >>
> > >>>>      >> What analyzer are you using? If you are using StandardAnalyzer,
> > >>>>      then
> > >>>>      >> all of your terms while indexing will be lowercased, AFAIK, but
> > >>>>      your
> > >>>>      >> query will not be analyzed until you run a QueryParser on it.
> > >>>>      >>
> > >>>>      >>
> > >>>>      >> Atri
> > >>>>      >>
> > >>>>      >
> > >>>>      >
> > >>>>      >
> > >>>> ---------------------------------------------------------------------
> > >>>>      > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> > >>>>      <mailto:java-user-unsubscr...@lucene.apache.org>
> > >>>>      > For additional commands, e-mail:
> > >>>>      java-user-h...@lucene.apache.org
> > >>>>      <mailto:java-user-h...@lucene.apache.org>
> > >>>>      >
> > >>>>
> > >>>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> > >> For additional commands, e-mail: java-user-h...@lucene.apache.org
> > >>
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> > > For additional commands, e-mail: java-user-h...@lucene.apache.org
> > >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to