構成ハッシュを URL にマッピングするための Elasticsearch v5 インデックスをセットアップしました。
{
"settings": {
"analysis": {
"analyzer": {
"url-analyzer": {
"type": "custom",
"tokenizer": "url-tokenizer"
}
},
"tokenizer": {
"url-tokenizer": {
"type": "path_hierarchy",
"delimiter": "/"
}
}
}
},
"mappings": {
"route": {
"properties": {
"uri": {
"type": "string",
"index": "analyzed",
"analyzer": "url-analyzer"
},
"config": {
"type": "object"
}}}}}
ドキュメントが与えられるように、最長パスプレフィックスを最高スコアと一致させたい
{ "uri": "/trousers/", "config": { "foo": 1 }}
{ "uri": "/trousers/grey", "config": { "foo": 2 }}
{ "uri": "/trousers/grey/lengthy", "config": { "foo": 3 }}
を検索する/trousers
と、トップの結果は になりtrousers
、/trousers/grey/short
トップの結果は になるはずです/trousers/grey
。
代わりに、 の上位の結果は/trousers
です/trousers/grey/lengthy
。
これを達成するためにドキュメントにインデックスを付けてクエリを実行するにはどうすればよいですか?