OpenSearch/plugins/analysis-phonetic
Ryan Ernst 6dcfda99e8 Internal: Remove ClassLoader from Settings
Settings currently has a classloader member, which any user (plugin
or core ES code) can access to load classes/resources. This is extremely
error prone as setting the classloder on the Settings instance is a
public method. Furthermore, it is not really necessary. Classes that
need resources should load resources using normal means
(getClass().getResourceAsStream). Those that need classes
should use Class.forName, which will load the class with the
same classloader as the calling class. This means, in the few
places where classes are loaded by string name, they will use
the appropriate loader: either the default classloader which loads
core ES code, or a child classloader for each plugin.

This change removes the classloader member from Settings, as
well as other classloader related uses (except for a handful
of cases which must use a classloader, at least for now).
2015-08-13 23:55:27 -07:00
..
licenses [build] include in plugins only needed jars 2015-07-01 21:37:27 +02:00
rest-api-spec/test/analysis_phonetic [phonetic] move integration tests to REST tests 2015-07-08 10:17:43 +02:00
src Internal: Remove ClassLoader from Settings 2015-08-13 23:55:27 -07:00
LICENSE.txt Added LICENSE and NOTICE files for all plugins 2015-06-23 12:50:31 +02:00
NOTICE.txt Added LICENSE and NOTICE files for all plugins 2015-06-23 12:50:31 +02:00
README.md CLITool: Port PluginManager to use CLITool 2015-07-21 14:15:39 +02:00
pom.xml Cut over master to 2.0.0-SNAPSHOT 2015-08-12 21:16:08 +02:00

README.md

Phonetic Analysis for Elasticsearch

The Phonetic Analysis plugin integrates phonetic token filter analysis with elasticsearch.

In order to install the plugin, simply run:

bin/plugin install elasticsearch/elasticsearch-analysis-phonetic/2.5.0
elasticsearch Phonetic Analysis Plugin Docs
master Build from source See below
es-1.x Build from source 2.6.0-SNAPSHOT
es-1.5 2.5.0 2.5.0
es-1.4 2.4.3 2.4.3
< 1.4.5 2.4.2 2.4.2
< 1.4.3 2.4.1 2.4.1
es-1.3 2.3.0 2.3.0
es-1.2 2.2.0 2.2.0
es-1.1 2.1.0 2.1.0
es-1.0 2.0.0 2.0.0
es-0.90 1.8.0 1.8.0

To build a SNAPSHOT version, you need to build it with Maven:

mvn clean install
plugin install analysis-phonetic \
       --url file:target/releases/elasticsearch-analysis-phonetic-X.X.X-SNAPSHOT.zip

User guide

A phonetic token filter that can be configured with different encoder types: metaphone, doublemetaphone, soundex, refinedsoundex, caverphone1, caverphone2, cologne, nysiis, koelnerphonetik, haasephonetik, beidermorse

The replace parameter (defaults to true) controls if the token processed should be replaced with the encoded one (set it to true), or added (set it to false).

{
    "index" : {
        "analysis" : {
            "analyzer" : {
                "my_analyzer" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "lowercase", "my_metaphone"]
                }
            },
            "filter" : {
                "my_metaphone" : {
                    "type" : "phonetic",
                    "encoder" : "metaphone",
                    "replace" : false
                }
            }
        }
    }
}

Note that beidermorse does not support replace parameter.

Questions

If you have questions or comments please use the mailing list instead of Github Issues tracker.

License

This software is licensed under the Apache 2 license, quoted below.

Copyright 2009-2014 Elasticsearch <http://www.elasticsearch.org>

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.