Hi,

Thank you very much! I have followed your advice, but I am unsure how to 
make ES to use my parser instead of the default one.
Specifically, I have written two classes:

1. MyParser: A subclass of 
org.apache.lucene.queryparser.classic.QueryParser, with an overridden 
parse(String query) method.

2. A subclass of org.elasticsearch.plugins.AbstractPlugin with:

public String name() { return "custom_query"; }

public void onModule(IndexQueryParserModule module) {
    module.addQueryParser("custom_query", MyParser.class);
}

Then, I have exported the classes to a jar file and placed the jar under my 
ELASTIC_SEARCH_HOME_DIR/plugins directory

Is there something else that I should do?

Best,
Oranit.

On Tuesday, March 3, 2015 at 12:58:57 PM UTC+2, Itamar Syn-Hershko wrote:
>
> You just need to create a Lucene QueryParser (implementing QueryBuilder) 
> and register it like so: 
> https://github.com/elasticsearch/elasticsearch/issues/3264#issuecomment-20247436
>
> However, Elasticsearch provides a very good and expressive query DSL - so 
> I'd rather look at doing this on your search facade, and generate a verbose 
> query JSON to send to Elasticsearch. Many things that you have to support 
> in Solr via custom query parsers can be done using the provided query DSL 
> with Elasticsearch because JSON is way better than LocalParams etc
>
> Alternatively, NLP and POS tagging could be done also on the analysis 
> level. I'd look at doing using TeeSinkTolenFilters.
>
> --
>
> Itamar Syn-Hershko
> http://code972.com | @synhershko <https://twitter.com/synhershko>
> Freelance Developer & Consultant
> Lucene.NET committer and PMC member
>
> On Tue, Mar 3, 2015 at 12:12 PM, Oranit Dror <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I will be glad to get some more information on your suggestion to write 
>> my own QueryParser as a plugin. To be more specific, I would like that this 
>> parser will do some Natural Language processing on the full text query 
>> string, supplied by the user, in the front-end search bar. In fact, in SolR 
>> I have implemented such a parser (as a QParserPlugin subclass). The output 
>> of the parser plugin should be a new string that I would like to give to 
>> ElasticSearch. 
>>
>> Additionally, before displaying the returned results, I would like to add 
>> my own code for selecting the text that I would like to highlight. In SolR, 
>> I have implemented a class that extends the
>> DefaultSolrHighlighter class.
>>
>> thank you,
>> Oranit.
>>
>> On Monday, March 2, 2015 at 10:46:32 PM UTC+2, Itamar Syn-Hershko wrote:
>>>
>>> You can write your own QueryParser as a plugin but that sounds like an 
>>> overkill. If all you need is display some highlighted results its easy 
>>> enough to do in any language and I'd say you don't really need Kibana for 
>>> that
>>>
>>> --
>>>
>>> Itamar Syn-Hershko
>>> http://code972.com | @synhershko <https://twitter.com/synhershko>
>>> Freelance Developer & Consultant
>>> Lucene.NET committer and PMC member
>>>
>>> On Mon, Mar 2, 2015 at 10:27 PM, Oranit Dror <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am new to ElasticSearch and have a newbie question: I want to have a 
>>>> user-friendly front-end to the data with a free text search bar. In this 
>>>> search bar the user inputs a query string, which I would like to parse and 
>>>> transform to a new string (application-dependent) that will be used on 
>>>> ElasticSearch. I then want to highlight the matching search terms in the 
>>>> results. I have implemented a similar application in Solr. 
>>>>
>>>> I thought of using Kibana's Discover page. Is there a way to hook into 
>>>> Kibana and/or ElasticSearch, so I can transform the user's query string 
>>>> before it is sent to ES and highlight the results?
>>>>
>>>> Regards,
>>>> Oranit
>>>>
>>>> -- 
>>>> 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 [email protected].
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/elasticsearch/648dfc5a-49e4-4a82-8b4a-2497a90dad42%
>>>> 40googlegroups.com 
>>>> <https://groups.google.com/d/msgid/elasticsearch/648dfc5a-49e4-4a82-8b4a-2497a90dad42%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>> 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 [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/5d8e4b46-a68f-42d8-b097-0848fde5508c%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elasticsearch/5d8e4b46-a68f-42d8-b097-0848fde5508c%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/19c77bbe-7714-4b60-9cb7-c61b9ff30e89%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to