# How to tweak the lucene core in Elasticsearch

**URL:** <https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388>\
**Category:** Elasticsearch\
**Created:** [April 24, 2017, 9:14am UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388 "2017-04-24T09:14:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Origin\_Jing](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/origin_jing/32/90877_2.png) [@Origin\_Jing](https://discuss.elastic.co/u/Origin_Jing)\
**Post date:** [April 24, 2017, 9:14am UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388/1 "2017-04-24T09:14:46Z")

</div>

I need to tweak something in lucene core(add diagnostic information to help resolve issues in other part). However I found that elasticsearch refuse to start when a self build jar of lucene core is used, even when what I did is clone the code, check out the corresponding tag, and use `ant jar` in the lucene/core directory to build the jar file and then use this jar to replace the one in the elasticsearch lib directory. After that, ElasticSearch was not able to start.

The error is :

][o.e.b.ElasticsearchUncaughtExceptionHandler] [] fatal error in thread [main], exiting  
java.lang.ExceptionInInitializerError: null  
at org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter$Builder.build(StemmerOverrideFilter.java:205) ~[lucene-analyzers-common-6.4.2.jar:6.4.2 34a975ca3d4bd7fa121340e5bcbf165929e0542f - ishan - 2017-03-01 23:25:07]  
at org.apache.lucene.analysis.nl.DutchAnalyzer.(DutchAnalyzer.java:133) ~[lucene-analyzers-common-6.4.2.jar:6.4.2 34a975ca3d4bd7fa121340e5bcbf165929e0542f - ishan - 2017-03-01 23:25:07]  
at org.apache.lucene.analysis.nl.DutchAnalyzer.(DutchAnalyzer.java:106) ~[lucene-analyzers-common-6.4.2.jar:6.4.2 34a975ca3d4bd7fa121340e5bcbf165929e0542f - ishan - 2017-03-01 23:25:07]  
at org.elasticsearch.indices.analysis.PreBuiltAnalyzers$20.create(PreBuiltAnalyzers.java:246) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.indices.analysis.PreBuiltAnalyzers.getAnalyzer(PreBuiltAnalyzers.java:487) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.index.analysis.AnalysisRegistry$PrebuiltAnalysis.(AnalysisRegistry.java:407) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.index.analysis.AnalysisRegistry$PrebuiltAnalysis.(AnalysisRegistry.java:392) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.index.analysis.AnalysisRegistry.(AnalysisRegistry.java:62) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.indices.analysis.AnalysisModule.(AnalysisModule.java:176) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.node.Node.(Node.java:338) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.node.Node.(Node.java:242) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Bootstrap$6.(Bootstrap.java:242) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:242) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:58) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.3.1.jar:5.3.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.3.1.jar:5.3.1]  
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessDeclaredMembers")  
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0\_121]  
at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0\_121]  
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[?:1.8.0\_121]  
at java.lang.Class.checkMemberAccess(Class.java:2348) ~[?:1.8.0\_121]  
at java.lang.Class.getDeclaredFields(Class.java:1915) ~[?:1.8.0\_121]  
at org.apache.lucene.util.RamUsageEstimator$1.run(RamUsageEstimator.java:339) ~[lucene-core-6.4.2-SNAPSHOT.jar:6.4.2-SNAPSHOT 34a975ca3d4bd7fa121340e5bcbf165929e0542f - michael - 2017-04-24 16:51:22]  
at org.apache.lucene.util.RamUsageEstimator$1.run(RamUsageEstimator.java:336) ~[lucene-core-6.4.2-SNAPSHOT.jar:6.4.2-SNAPSHOT 34a975ca3d4bd7fa121340e5bcbf165929e0542f - michael - 2017-04-24 16:51:22]  
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0\_121]  
at org.apache.lucene.util.RamUsageEstimator.shallowSizeOfInstance(RamUsageEstimator.java:336) ~[lucene-core-6.4.2-SNAPSHOT.jar:6.4.2-SNAPSHOT 34a975ca3d4bd7fa121340e5bcbf165929e0542f - michael - 2017-04-24 16:51:22]  
at org.apache.lucene.util.RamUsageEstimator.shallowSizeOf(RamUsageEstimator.java:313) ~[lucene-core-6.4.2-SNAPSHOT.jar:6.4.2-SNAPSHOT 34a975ca3d4bd7fa121340e5bcbf165929e0542f - michael - 2017-04-24 16:51:22]  
at org.apache.lucene.util.fst.ByteSequenceOutputs.(ByteSequenceOutputs.java:154) ~[lucene-core-6.4.2-SNAPSHOT.jar:6.4.2-SNAPSHOT 34a975ca3d4bd7fa121340e5bcbf165929e0542f - michael - 2017-04-24 16:51:22]  
... 21 more

My question is what do I need to do if I want to tweak the lucene core used in ES.

---

<div class="post-metadata">

**Author:** ![jasontedor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jasontedor/32/66992_2.png) [@jasontedor](https://discuss.elastic.co/u/jasontedor)\
**Post date:** [April 24, 2017, 2:00pm UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388/2 "2017-04-24T14:00:51Z")

</div>

Startup is failing because we only grant permissions to the exact version of Lucene that we depend on. If you want to make changes like this, you have to grant additional permissions to the modified version of Lucene. However, I must advise you that you are in fully unsupported territory here.

---

<div class="post-metadata">

**Author:** ![Origin\_Jing](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/origin_jing/32/90877_2.png) [@Origin\_Jing](https://discuss.elastic.co/u/Origin_Jing)\
**Post date:** [April 25, 2017, 11:00am UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388/3 "2017-04-25T11:00:39Z")

</div>

Thank you for your help.

---

<div class="post-metadata">

**Author:** ![jasontedor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jasontedor/32/66992_2.png) [@jasontedor](https://discuss.elastic.co/u/jasontedor)\
**Post date:** [April 25, 2017, 11:14am UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388/4 "2017-04-25T11:14:02Z")

</div>

You're welcome.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 23, 2017, 11:16am UTC](https://discuss.elastic.co/t/how-to-tweak-the-lucene-core-in-elasticsearch/83388/5 "2017-05-23T11:16:16Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
