1

私には次の問題があります: 次のような 3000 万のドキュメントのインデックスがあります。

curl -XPUT localhost:8080/xxxxx/yyyyy/_mapping?pretty=true -d '{"xxxxx":{"_id":{"type":"string","index":"not_analyzed"},"properties":{"content":
{"type":"string","store":"no"},"title":{"type":"string","index":"no"},"created_date":{"type":"integer","index":"not_analyzed"},"url":
{"type":"string","index":"not_analyzed"},"author":{"type":"string","index":"no"},"author_url":{"type":"string","index":"no"},"domain":
{"type":"string","index":"not_analyzed"},"lang":{"type":"string","index":"no"}}}}'

トークナイザーは設定で選択されていないため、標準を適用します。フィールド「コンテンツ」にランキングリンク(URL)を作成するために「ファセット」をリクエストしたいと思います。残念ながら、標準のトークナイザーはリンク (url) を共有しているため、それを行うことはできません。質問: インデックスに追加された新しいドキュメントが新しいトークナイザー (uax_url_email) を処理し、古いドキュメントが変更されないように、インデックスを再作成せずに既存のインデックスでトークナイザーを変更できますか。

私はそれを試しました:

curl -XPUT localhost:8080/xxxxx -d '{
  "settings" : {
    "index": {
      "analysis" :{
        "analyzer": {
          "default": {
            "type" : "custom",
            "tokenizer" : "uax_url_email",
            "filter" : "lowercase"
          }
        }
      }
    }
  }
}
'

しかし、私はエラーが発生します: {"error": "IndexAlreadyExistsException [[xxxxx] Already exists]", "status": 400}

ランキング リンク (url) を作成するためにクエリ「ファセット」でインデックスを再作成しない別の方法はありますか?

事前に感謝します

4

1 に答える 1