[ZEPPELIN-3593] Change LuceneSearch's directory to file system from memory

### What is this PR for?
Reducing a usage of memory by moving Lucene search's directory to the file system

### What type of PR is it?
[Improvement]

### Todos
* [x] - Replace `RamDirectory` to `MMapDirectory`

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-3593

### How should this be tested?
It doesn't affect any current behaviors. Test search service

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jongyoul Lee <jongyoul@gmail.com>

Closes #3058 from jongyoul/ZEPPELIN-3593 and squashes the following commits:

cdae583c4 [Jongyoul Lee] Add a logic to check if directoryPath is null or not
5a383c4ab [Jongyoul Lee] Add `RamDirectory` to use search service in case where disk is not available
3b76cc1c0 [Jongyoul Lee] Set a default temporary directory to `java.io.tmpdir` Clean up javadoc
1e415e00e [Jongyoul Lee] Add deletion logic for the temporary directory
d26e64f88 [Jongyoul Lee] Replace `RamDirectory` to `MMapDirectory` provided by Lucene
4 files changed
tree: 44848aa9f854ab0b400b23e5a01fe58adc63e2e0
  1. .github/
  2. _tools/
  3. alluxio/
  4. angular/
  5. beam/
  6. bigquery/
  7. bin/
  8. cassandra/
  9. conf/
  10. dev/
  11. docs/
  12. elasticsearch/
  13. file/
  14. flink/
  15. geode/
  16. groovy/
  17. hbase/
  18. helium-dev/
  19. ignite/
  20. interpreter-parent/
  21. jdbc/
  22. kylin/
  23. lens/
  24. licenses/
  25. livy/
  26. markdown/
  27. neo4j/
  28. notebook/
  29. pig/
  30. python/
  31. r/
  32. sap/
  33. scalding/
  34. scio/
  35. scripts/
  36. shell/
  37. spark/
  38. testing/
  39. zeppelin-display/
  40. zeppelin-distribution/
  41. zeppelin-examples/
  42. zeppelin-integration/
  43. zeppelin-interpreter/
  44. zeppelin-jupyter/
  45. zeppelin-plugins/
  46. zeppelin-server/
  47. zeppelin-web/
  48. zeppelin-zengine/
  49. .appveyor.yml
  50. .gitignore
  51. .travis.yml
  52. LICENSE
  53. NOTICE
  54. pom.xml
  55. README.md
  56. Roadmap.md
  57. SECURITY-README.md
  58. STYLE.md
  59. travis_check.py
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: Build Status
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core feature:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site http://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.