mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -04:00
* [DOCS] Documentation for the stable plugin API * Removed references to rivers * Add link to Cloud docs for managing plugins * Add caveat about needing to update plugins * Remove reference to site plugins * Wording and clarifications * Fix test * Add link to text analysis docs * Text analysis API dependencies * Remove reference to REST endpoints and fix list * Move plugin descriptor file to its own page * Typos * Review feedback * Delete unused properties file * Changed into * Changed 'elasticsearchVersion' into 'pluginApiVersion' * Swap 'The analysis plugin API' and 'Plugin file structure' sections * Update docs/plugins/authors.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/example-text-analysis-plugin.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/plugin-descriptor-file.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/plugin-script.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> * Rewording * Add modulename and extended.plugins descriptions for descriptor file * Add link to existing plugins in Github * Review feedback * Use 'stable' and 'classic' plugin naming * Fix capitalization * Review feedback --------- Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com> Co-authored-by: William Brafford <william.brafford@elastic.co>
59 lines
2 KiB
Text
59 lines
2 KiB
Text
[[store-smb]]
|
|
=== Store SMB plugin
|
|
|
|
The Store SMB plugin works around for a bug in Windows SMB and Java on windows.
|
|
|
|
:plugin_name: store-smb
|
|
include::install_remove.asciidoc[]
|
|
|
|
[[store-smb-usage]]
|
|
==== Working around a bug in Windows SMB and Java on windows
|
|
|
|
When using a shared file system based on the SMB protocol (like Azure File Service) to store indices, the way Lucene
|
|
open index segment files is with a write only flag. This is the _correct_ way to open the files, as they will only be
|
|
used for writes and allows different FS implementations to optimize for it. Sadly, in windows with SMB, this disables
|
|
the cache manager, causing writes to be slow. This has been described in
|
|
https://issues.apache.org/jira/browse/LUCENE-6176[LUCENE-6176], but it affects each and every Java program out there!.
|
|
This need and must be fixed outside of ES and/or Lucene, either in windows or OpenJDK. For now, we are providing an
|
|
experimental support to open the files with read flag, but this should be considered experimental and the correct way
|
|
to fix it is in OpenJDK or Windows.
|
|
|
|
The Store SMB plugin provides two storage types optimized for SMB:
|
|
|
|
`smb_mmap_fs`::
|
|
|
|
a SMB specific implementation of the default
|
|
{ref}/index-modules-store.html#mmapfs[mmap fs]
|
|
|
|
`smb_simple_fs`::
|
|
|
|
deprecated::[7.15,"smb_simple_fs is deprecated and will be removed in 8.0. Use smb_nio_fs or other file systems instead."]
|
|
|
|
`smb_nio_fs`::
|
|
|
|
a SMB specific implementation of the default
|
|
{ref}/index-modules-store.html#niofs[nio fs]
|
|
|
|
To use one of these specific storage types, you need to install the Store SMB plugin and restart the node.
|
|
Then configure Elasticsearch to set the storage type you want.
|
|
|
|
This can be configured for all indices by adding this to the `elasticsearch.yml` file:
|
|
|
|
[source,yaml]
|
|
----
|
|
index.store.type: smb_nio_fs
|
|
----
|
|
|
|
Note that setting will be applied for newly created indices.
|
|
|
|
It can also be set on a per-index basis at index creation time:
|
|
|
|
[source,console]
|
|
----
|
|
PUT my-index-000001
|
|
{
|
|
"settings": {
|
|
"index.store.type": "smb_mmap_fs"
|
|
}
|
|
}
|
|
----
|