0

構成ハッシュを 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

これを達成するためにドキュメントにインデックスを付けてクエリを実行するにはどうすればよいですか?

4

1 に答える 1