Position offset gap in objects
Hi I have mapping like below. { field: { type: object, properties: { subfield: { type: string, * position_offset_gap: 500* } }, *position_offset_gap: 50* } } I insert document like {field : [{subfield : [foo], [bar]}, {subfield : [baz]}]} I would expect that positions should be like below: foo - 1 bar - 502 baz - 500503 But I'm afraid ES see foo - 1 bar - 502 baz - 1003 Can you explain me how it should work in this case? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPNWJ%3DyOXOm1vYE%2BfKLtm6Niv0JSzE1y%3DLvHc6EudFCUw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Plugin datasource singleton
Hi, I have query parser plugin. This plugin also implements transport action. Both: query parser and transport action should share the same data source object (with cache). Unfortunately when I run a query and parser is called I see one instance of data source. When transport action is called I see another instance of data source. I'd like to be able to see the same data source instance because transport action is responsible for cache management. This cache should be used by query parser Plugin has implemented method 'indexModules' @Override public CollectionClass? extends Module indexModules() { CollectionClass? extends Module modules = newArrayList(); modules.add(CustomParserModule.class); return modules; } and CustomParserModule has implmeneted method conifugre @Override protected void configure() { bind(RegisterBaseFilterParser.class).asEagerSingleton(); bind(DataService.class).asEagerSingleton(); } What am I doing wrong? -- Paweł -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbN98LtohNAzz-vPQzENZ7W7AkBZPdYvkAeKdgr5HDUwUw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Plugin - cache invalidation in Query parser
Hi, I implemented query parser plugin. While query is parsed a few costly operations have to be performed. I decided to cache sub-results of this operation and reuse it when needed. This works fine. The problem begins when cache should be invalidated. I built REST API (BaseRestAction) for cache invalidation and registered it. When API method is called it should clear cache on all ES nodes ... not only one. Do you have any idea how I can distribute cache invalidation operation across all ES nodes? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNKnyOxXo-z0Q252T8M6KsLy%3DiiD85%2Bb-NNq7uKEWSK7g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Custom cluster action
Hi, I'm thinking about building custom ClusterAction. I see that I can build custom classes for Request, NodeResponse and NodesRespone but it is not clear to me how I can register my custom action. In case of Rest action it was quite easy because in plugin i simply use public void onModule(RestModule module) { module.addRestAction(RestCustomAction.class); } but I cannot find any examples how I can do this in case of custom ClusterAction. Does anybody have any example how I can achieve this? Thanks for your help. -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPoNd4yZLdow_sMJmpN8dr0krEipTX9SbMOp%2BugM0L8_w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: Custom cluster action
Hi, Thank you very much :-) Paweł On Wed, Nov 12, 2014 at 10:23 PM, Ivan Brusic i...@brusic.com wrote: There is also an ActionModule public void onModule(ActionModule module) { module.registerAction(MyAction.INSTANCE, TransportMyAction.class); } It is always easier to follow existing plugins. Cheers, Ivan On Wed, Nov 12, 2014 at 3:50 PM, Pawel pro...@gmail.com wrote: Hi, I'm thinking about building custom ClusterAction. I see that I can build custom classes for Request, NodeResponse and NodesRespone but it is not clear to me how I can register my custom action. In case of Rest action it was quite easy because in plugin i simply use public void onModule(RestModule module) { module.addRestAction(RestCustomAction.class); } but I cannot find any examples how I can do this in case of custom ClusterAction. Does anybody have any example how I can achieve this? Thanks for your help. -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPoNd4yZLdow_sMJmpN8dr0krEipTX9SbMOp%2BugM0L8_w%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPoNd4yZLdow_sMJmpN8dr0krEipTX9SbMOp%2BugM0L8_w%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQCTD3ZTreOTPXzd1ifwTqyFj3rzRd8KOsZxs8y6qg-M3Q%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQCTD3ZTreOTPXzd1ifwTqyFj3rzRd8KOsZxs8y6qg-M3Q%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPQAoyQZ2drbscN%3DwV-rVXG7r%3DppvHWx%2BdkqrtF%2B_Cwvg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Plugin version
Hi, I implemented ES plugin and set its version in es-plugin.properties. version=${project.version} I build project using maven but when I start plugin in ES and check plugin version using ES API I see version without resolved project.version property. Do you have any idea how I can avoid hardcoding version into es-plugin.properties file? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNTysb_%3DMPisXDJ6mv71yP7J3Mx-aFCsgWXV%2Bx4_U4_Zg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: Plugin version
Thanks On Tue, Nov 11, 2014 at 8:16 PM, David Pilato da...@pilato.fr wrote: Change in pom.xml and add filtering. https://github.com/elasticsearch/elasticsearch-analysis-icu/blob/master/pom.xml#L111 -- *David Pilato* | *Technical Advocate* | *Elasticsearch.com http://Elasticsearch.com* @dadoonet https://twitter.com/dadoonet | @elasticsearchfr https://twitter.com/elasticsearchfr | @scrutmydocs https://twitter.com/scrutmydocs Le 11 nov. 2014 à 20:12, Pawel pro...@gmail.com a écrit : Hi, I implemented ES plugin and set its version in es-plugin.properties. version=${project.version} I build project using maven but when I start plugin in ES and check plugin version using ES API I see version without resolved project.version property. Do you have any idea how I can avoid hardcoding version into es-plugin.properties file? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNTysb_%3DMPisXDJ6mv71yP7J3Mx-aFCsgWXV%2Bx4_U4_Zg%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNTysb_%3DMPisXDJ6mv71yP7J3Mx-aFCsgWXV%2Bx4_U4_Zg%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/DAE0F1DA-F0AB-47DB-AC5E-A1806E5309A3%40pilato.fr https://groups.google.com/d/msgid/elasticsearch/DAE0F1DA-F0AB-47DB-AC5E-A1806E5309A3%40pilato.fr?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbP_B2b_ia4MChNxiiKoRcGHk29gL_ZKZxDUXqwmRE-MHA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: Get analyzer from client
Hi, Thank you for all of those suggestions. I think this will work for me. -- Paweł Róg On Mon, Oct 6, 2014 at 4:54 AM, Ivan Brusic i...@brusic.com wrote: It is definitely possible. You can create the analysis service locally and query it for the appropriate analyzers. I use this method the pre-analyze terms for span queries, which does not analyze text. You would need a local copy of your elasticsearch.yml and related files (stopwords, synonyms, etc) or redefine everything in code. Look at the existing test code for how to create an analysis service via the guice injector. For example: https://github.com/elasticsearch/elasticsearch/blob/master/src/test/java/org/elasticsearch/index/analysis/CharFilterTests.java Cheers, Ivan On Oct 5, 2014 10:48 AM, Pawel pro...@gmail.com wrote: Hi, I have a java application which uses Elasticsearch client (transport client). I need to analyze string taking mapping which is used by ES. I know I can prepare analyze request to elasticsearch but it means a lot of requests to ES. Is it possible to get somehow Lucene Analyzer from client object and then use it to build TokenStream? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNXoz3bX0AV1d1foSimx8xOFVniwKzz3o9RYvGK6V%3D4Fw%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNXoz3bX0AV1d1foSimx8xOFVniwKzz3o9RYvGK6V%3D4Fw%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQByAQdaWc3GpLun-5y_Z62Vx3qEZ7W%3DABON8-z5PCaM6g%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQByAQdaWc3GpLun-5y_Z62Vx3qEZ7W%3DABON8-z5PCaM6g%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbPBjn-k6y_G4R4C0H4Yx%2B0yVFJvPf4kCn9LJ%3DrS-gx8eQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Get analyzer from client
Hi, I have a java application which uses Elasticsearch client (transport client). I need to analyze string taking mapping which is used by ES. I know I can prepare analyze request to elasticsearch but it means a lot of requests to ES. Is it possible to get somehow Lucene Analyzer from client object and then use it to build TokenStream? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNXoz3bX0AV1d1foSimx8xOFVniwKzz3o9RYvGK6V%3D4Fw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Single node job
Hi, I'm have to prepare a mechanism which is able to run a scheduled job in ES. This job will be responsible for periodical remove of unused documents. I think it is easy to achieve in simple plugin. The only problem I see is synchronization. I think it is reasonable that at a time only one job is running. Is there any way to do it with internal ES API (without using external software like zookeeper)? To answer possible suggestions. I don't want to and cannot use any external tools and run it as cron jobs. Any ideas? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbMb1iQvB%3Dw1YsQ90aoTrFvWfGeBwmQLFcyVxmeJQn2yxw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: Single node job
Hi, Thank you for your response but I think that's not the case. TTL are not what I want to use. There is some logic which is used to make a decision which documents are not active any more and should be remove (TTL won't work here). Quartz is only a scheduler and I don't think it is able to synchronize distributed nodes (at least I don't quarts can do this). What i need is something like leader election and only the leader triggers delete jobs. When the leader dies, other node takes it's role. This is the reason why I mentioned zookeeper but I don't want to use this - it is an external software/moving part from ES point of view. ES also elects leader so I thought I can use ES internal mechanisms. -- Paweł On Wed, Aug 27, 2014 at 12:13 PM, Mark Walkom ma...@campaignmonitor.com wrote: It depends on what you are exactly doing but there are document TTLs that might suit, but they are resource intensive. A plugin could work as you could leverage the quartz scheduler libraries to handle running it. Regards, Mark Walkom Infrastructure Engineer Campaign Monitor email: ma...@campaignmonitor.com web: www.campaignmonitor.com On 27 August 2014 20:00, Pawel pro...@gmail.com wrote: Hi, I'm have to prepare a mechanism which is able to run a scheduled job in ES. This job will be responsible for periodical remove of unused documents. I think it is easy to achieve in simple plugin. The only problem I see is synchronization. I think it is reasonable that at a time only one job is running. Is there any way to do it with internal ES API (without using external software like zookeeper)? To answer possible suggestions. I don't want to and cannot use any external tools and run it as cron jobs. Any ideas? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbMb1iQvB%3Dw1YsQ90aoTrFvWfGeBwmQLFcyVxmeJQn2yxw%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbMb1iQvB%3Dw1YsQ90aoTrFvWfGeBwmQLFcyVxmeJQn2yxw%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAEM624ZPJtbLKRmU87VxFKXwgjycjjUyXQ4A%3DKQG1vRgjPcYWA%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAEM624ZPJtbLKRmU87VxFKXwgjycjjUyXQ4A%3DKQG1vRgjPcYWA%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbNWwQ9xdh%2Bwnop6M8LCJA0XL_ce3jUeEtOLnGOgZn3%2Big%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: Query pre-processing before execution?
Hi Joerg, You are right about analyzer. I have also a little different case or maybe I missed something (and analyzer-way can also handle my case). I'd like to process a query and add additional filter to each of queries. To build this filter external service should be queried to fetch additional data and use this data to build proper filter. Filter can be build for a few fields: for example fileld1:foo AND field2:bar AND field3:test. Do you have any suggestions? -- Paweł On Thu, Aug 21, 2014 at 10:31 AM, joergpra...@gmail.com joergpra...@gmail.com wrote: I would rather use the analyzer/token filter machinery of Lucene for search/index extensions, plugging this into ES is a breeze. If you want field specific mangling, I would use the field mapper to create a new field type. There, you have read access to the whole (immutable) document source and you can pre-process the field input data in the given document context before indexing. Jörg On Wed, Aug 20, 2014 at 12:00 PM, Otis Gospodnetic otis.gospodne...@gmail.com wrote: Hi, What is the best way to pre-process a query a bit before ES executes it? (e.g. I want to shingle the query string a bit and expand/rewrite a query before letting ES execute it) I can create a custom Rest Action and a new API endpoint, but I'd prefer to hide custom query pre-processing behind the standard ES query API. Is there any way to do that? Thanks, Otis -- Elasticsearch Performance Monitoring * Log Management * Search Analytics http://sematext.com/ -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e99854af-65e1-42c0-9dab-e384c8c281e6%40googlegroups.com https://groups.google.com/d/msgid/elasticsearch/e99854af-65e1-42c0-9dab-e384c8c281e6%40googlegroups.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFzggLcxBa0axOcyZ2v5CxG8v9NmquFcmHp%2ByiS8Z0F4w%40mail.gmail.com https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFzggLcxBa0axOcyZ2v5CxG8v9NmquFcmHp%2ByiS8Z0F4w%40mail.gmail.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbMx70HZ2rOyU%3D%3DQh63j9wYVvjju%2BJMZsO1DQxKnZjN8Xw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Custom query parser
Hi, I'd like to prepare new query parser which will be triggered for each query sent to ES. I already implemented a query parser and attached it to AnalysisService but I have to run it by { query : { custom_query : { } } } I'd like to avoid this. ES has multiple clients for multiple languages but not all of them support such a custom query type. Is it possible to trigger my custom_query parser for each query sent to ES? I see that I can build my own RESTAction but it means the endpoint will change (_search = _custom_endpoint) so again it can be not supported by ES clients. Do you have any suggestions how to handle this? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbMGnEtJoQ%3Dj-vnGn%3DtjZi5F%2B1Pim1DgARiQ6AzU5H%2Bs3Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Query post processing
Hi, I need an elasticsearch plugin which will build and add filter to each query passed to Elasticsearch. Above short scenario is showed: 1. Query string is sent to Elasticsearch 2. Query is parsed and prepared to execute on cluster 3. A filter is build based eg. on query, current time etc. and added to a query 4. Modified query is executed on Elasticsearch cluster I'm wondering if I can do a plugin which will be triggered each time a query is being processed. I know I can make a plugin with my own query parser but it also has drawback. Because all queries will have to contain something like: { query : { bool: { must: [ { term: { some_field: some_term } }, { CUSTOM_QUERY_TYPE: { enabled: true } } ] } } But this looks not to be so convenient because client application will always have to extend the original query. Is it possible to build plugin with query post processing and avoid building query parser or Rest action? -- Paweł Róg -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAF9ZkbOU0FSNUXF%2B7DEyXPebVsVhYHhZ158YJZc0EVY%2BrpvEyg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.