Hi team,

Do I need to write & deploy a custom Geode Function in order to run the
dynamic Lucene query?
Can I get some help, please?

I need to somehow execute a dynamic lucene query on Geode cluster.
I am able to run successfully a static lucene query using the
standard Lucene's StandardQueryParser, though.

Regards,
Ajay Vasudevan

On Sun, Apr 5, 2020 at 5:29 PM vas aj <vasudevan.a...@gmail.com> wrote:

> ++ Dev  team
>
> Hi team,
>
> I am trying to execute Lucene query from Geode cache-client with the
> following  :
>
> class CustomerServiceImplTest {
>>   @Inject CustomerServiceGemfireConfiguration
>> customerServiceGemfireConfiguration;
>>   @Test
>>   void getAllInterestedCustomers() throws Exception {
>>     LuceneService luceneService =
>> CustomerServiceGemfireConfiguration.getLuceneService();
>>     String title = "John";
>>     LuceneQuery<Long, Customer> luceneQuery =
>>         luceneService
>>             .createLuceneQueryFactory()
>>             .setLimit(50)
>>             .create(
>>                 "customerLuceneIndex",
>>                 "customers",
>>                 index -> {
>>                   return IntPoint.newRangeQuery("age", 25, 35);
>>                 });
>>     Collection<Customer> allInterestedCustomers =
>> luceneQuery.findValues();
>>     System.out.println("all Customers => " + allInterestedCustomers);
>>   }
>> }
>
>
> I get the below error at luceneQuery.findValues() while executing it. Can
> someone help me?
>
> org.apache.geode.cache.client.ServerOperationException: remote server on
>> 192.168.0.3(24550:loner):38432:0d2d154b: While performing a remote
>> executeRegionFunction
>> at
>> org.apache.geode.cache.client.internal.ExecuteRegionFunctionOp$ExecuteRegionFunctionOpImpl.processResponse(ExecuteRegionFunctionOp.java:437)
>> at
>> org.apache.geode.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:222)
>> at
>> org.apache.geode.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:195)
>> at
>> org.apache.geode.cache.client.internal.AbstractOp.attempt(AbstractOp.java:382)
>> at
>> org.apache.geode.cache.client.internal.AbstractOpWithTimeout.attempt(AbstractOpWithTimeout.java:45)
>> at
>> org.apache.geode.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:263)
>> at
>> org.apache.geode.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:353)
>> at
>> org.apache.geode.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:750)
>> at
>> org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:138)
>> at
>> org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:787)
>> at
>> org.apache.geode.cache.client.internal.ExecuteRegionFunctionOp.execute(ExecuteRegionFunctionOp.java:90)
>> at
>> org.apache.geode.cache.client.internal.ServerRegionProxy.executeFunction(ServerRegionProxy.java:687)
>> at
>> org.apache.geode.internal.cache.execute.ServerRegionFunctionExecutor.executeOnServer(ServerRegionFunctionExecutor.java:206)
>> at
>> org.apache.geode.internal.cache.execute.ServerRegionFunctionExecutor.executeFunction(ServerRegionFunctionExecutor.java:158)
>> at
>> org.apache.geode.internal.cache.execute.ServerRegionFunctionExecutor.execute(ServerRegionFunctionExecutor.java:390)
>> at
>> org.apache.geode.internal.cache.execute.ServerRegionFunctionExecutor.execute(ServerRegionFunctionExecutor.java:351)
>> at
>> org.apache.geode.cache.lucene.internal.LuceneQueryImpl.findTopEntries(LuceneQueryImpl.java:121)
>> at
>> org.apache.geode.cache.lucene.internal.LuceneQueryImpl.findPages(LuceneQueryImpl.java:99)
>> at
>> org.apache.geode.cache.lucene.internal.LuceneQueryImpl.findResults(LuceneQueryImpl.java:85)
>> at
>> org.apache.geode.cache.lucene.internal.LuceneQueryImpl.findValues(LuceneQueryImpl.java:78)
>> at
>> CustomerServiceImplTest.getAllInterestedCustomers(CustomerServiceImplTest.java:35)
>>
>> *Caused by: java.lang.ClassNotFoundException: **CustomerServiceImplTest
>> <<<< Why should the test class be loaded in Geode server ?*
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>> ...
>> ...
>>
>
> Regards
> Aj Vas
>

Reply via email to