Somehow " is causing an issue as this should return street with MAIN:
[contentDFLT:street="MAINS"~2, +contentDFLT:"city nashua", +contentDFLT:"region new-hampshire", +contentDFLT:"country united states"]
Best regards On 6/10/19 2:24 PM, baris.ka...@oracle.com wrote:
[+contentDFLT:"city nashua", +contentDFLT:"region new-hampshire", +contentDFLT:"country united states", contentDFLT:street contentDFLT:mains]QueeryParser chops it into two pieces from parser.parser("street=\"MAINS\"");Index has a TextField named contentDFLT the following data :street="MAIN" city="NASHUA" municipality="HILLSBOROUGH" region="NEW HAMPSHIRE" country="UNITED STATES"When i set street=\"MAINS~\" with parser: i get the following[+contentDFLT:"city nashua", +contentDFLT:"region new-hampshire", +contentDFLT:"country united states", contentDFLT:street contentDFLT:mains]probably " quotations are messing this up as You were saying... Best regards On 6/10/19 12:48 PM, Tomoko Uchida wrote: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 resultswhich is good. To specify a search field, ":" (colon) should be used instead of "=". See the query parser documentation:https://urldefense.proofpoint.com/v2/url?u=http-3A__lucene.apache.org_core_8-5F1-5F0_queryparser_org_apache_lucene_queryparser_classic_package-2Dsummary.html-23Fields&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=nlG5z5NcNdIbQAiX-BKNeyLlULCbaezrgocEvPhQkl4&m=u4SeJqH4lePhOazCLwxLEr3WqcMkODtYLv4njiKZ4PM&s=WrNfUXO9gz1PqpczTJw1vD9sWqvr76WRv2Aeo9uWqa4&e=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 arein 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 beforeadding 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 thestring 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 actualcode. >>>> What analyzer are you using? If you are using StandardAnalyzer,then>> all of your terms while indexing will be lowercased, AFAIK, butyour>> 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
--------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org