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
>>
>

Reply via email to