2016-12-22 10 views
0

弾性検索にインデックスを付ける前に、どのようにトークンを並べ替えることができますか?例: 私はインデックスしたい弾性検索のカスタムソートアナライザ

"a b" => "ab" 
"b a" => "ab" 
"java language" => "javalanguage" 
"requirement analysis" => "analysisrequirement" 

ソート後、すべてのトークンを連結して使用します。

カスタムソートアナライザーを使用してこれをどのように達成できますか。

EDIT:私たちはユースケースのためのElastic search mappingにカスタムアナライザーをいくつか適用しました。たとえば。私たちは持っています

私はアナライザーを使って単語をソートしたいと思います。

token 
stemming 
sort 
custom_words_concatenation 
+0

は、これらのトークンの単純な文字や単語はありますか? – Val

+0

あなたが提供した情報はあなたのユースケースを理解するのに十分ではありません。例: "boy apple" => "appleboy"を持つことができます。ここでは、各トークンのアルファベット順に基づいて連結することができます。すべての用途を追加/説明する – user3775217

+0

@valトークンソート後 –

答えて

0

カスタムソートアナライザーを作成しました。

リンクgithubのhttps://github.com/ranjeet-floyd/plugin-sortchar.git

[]をCHARおよびArrays.sortを使用してソートする入力文字列を変換します。例えばのために

requirement analysis => aaeeeiilmnnqrrsstuy 
analysis requirement => aaeeeiilmnnqrrsstuy