Thanks Dan for the quick help. However the query failed. Working on the same.
On Tue, 28 Jan 2020, 19:55 Dan Smith, <dsm...@pivotal.io> wrote: > I think you could probably use a BooleanQuery to do this. Something like > this, although I haven't tested it. Your LuceneQuery1 just results in a > call to StandardQueryParser.parse, so you can combine that with your > spatial query: > > LuceneQuery<Long, Station> luceneQuery2 = > luceneService > .createLuceneQueryFactory() > .create("stationNameIndex", "stations-region", index -> { > BooleanQuery query = new BooleanQuery(); > query.add(new StandardQueryParser().parse(queryString, name), > BooleanQuery.Occur.MUST); > query.add(SpatialHelper.findWithin(-122.8515139, 45.5099231, > 0.5), , BooleanQuery.Occur.MUST); > return query; > } > > On Tue, Jan 28, 2020 at 11:36 AM vas aj <vasudevan.a...@gmail.com> wrote: > >> Hi team, >> >> I want to execute a *LuceneQuery* that searches both a queryString(E.g. >> "station:Piccadilly*") as well as nearest station within .5 miles.(E.g. >> SpatialHelper.findWithin(lat, long, 0.5)) >> >> In other words, is there any means of combining *luceneQuery1* & >> *luceneQuery2* and executing them as >> Collection<Station> nearestStations = *luceneQuery*.findValues(); >> >> where luceneQuery = luceneQuery1 + luceneQuery2 >> >> *LuceneQuery1* >> LuceneQuery<Long, Station> luceneQuery1 = >> luceneService >> .createLuceneQueryFactory() >> .setLimit(100) >> .create("stationNameIndex", "stations-region", queryString, >> "name"); >> >> *LuceneQuery2* >> LuceneQuery<Long, Station> luceneQuery2 = >> luceneService >> .createLuceneQueryFactory() >> .create("stationNameIndex", "stations-region", index -> >> SpatialHelper.findWithin(-122.8515139, 45.5099231, 0.5); >> >> Regards >> Aj >> >