Extending query DSL in plugin

Hey there,

Since ES has quite a modular architecture, I thought I could extend the
query DSL in a plugin. More precisely, I wanted to add a new elementParser
to the SearchService in an attempt to create a new kind of queries I desire.

But it seems this is not possible, am I right? Perhaps I missed something,
but the ElementParsers are completely shut off from any outside access, it
seems. Is this something to change or intended? The ElementParsers are
added to a private ImmutableMap. Isn't the search process something that
should be extended? Is there a hidden getter/setter anywhere?

My ultimate goal would have been to send multiple queries at once and then
do some quite custom computations on the facet values of the two result
sets. Could I achieve something like that using multiple requests perhaps?
Currently, I send the queries, get the facet values and do the computations
in my web app. But this doesn't scale so well and I have some overhead
because I can't access the Lucene index directly. Thus, I wanted to shift
that code into a plugin.

Any ideas?

Thanks and best regards,

Erik

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

I found elastic
search-query-accorssvariantshttps://github.com/yakaz/elasticsearch-query-acrossvariants
as
an example how to implement a new query parser, but I think this is not
enough for my use case.
I would like to have PayloadTermQuery as part of my plugin to behave the
same way as other TermQueries when combined with filters, facets for
instance.
Is it something that would be possible in the near future?

thanks,
Milan

On Tue, Jun 18, 2013 at 5:45 PM, Erik Fäßler khituras@gmail.com wrote:

Hey there,

Since ES has quite a modular architecture, I thought I could extend the
query DSL in a plugin. More precisely, I wanted to add a new elementParser
to the SearchService in an attempt to create a new kind of queries I desire.

But it seems this is not possible, am I right? Perhaps I missed something,
but the ElementParsers are completely shut off from any outside access, it
seems. Is this something to change or intended? The ElementParsers are
added to a private ImmutableMap. Isn't the search process something that
should be extended? Is there a hidden getter/setter anywhere?

My ultimate goal would have been to send multiple queries at once and then
do some quite custom computations on the facet values of the two result
sets. Could I achieve something like that using multiple requests perhaps?
Currently, I send the queries, get the facet values and do the computations
in my web app. But this doesn't scale so well and I have some overhead
because I can't access the Lucene index directly. Thus, I wanted to shift
that code into a plugin.

Any ideas?

Thanks and best regards,

Erik

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.