アプリケーションの文字列フィールドの多くは、elasticsearch 5.3で動的にマッピングする必要があります。 IDやIDSで終わるすべての新しいフィールドが等の弾性によって自動的にマッピングされ、索引付けされるべきである:動的マッピングを変更するElasticsearch 5.3
"_my_propertyId":
{
"type": "keyword"
}
私はこの
"mappings": {
"my_type": {
"dynamic_templates": [
{
"id_as_keywords": {
"match": "*id|*Id|*Ids",
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
しかし、依然として弾性のようなインデックス/タイプの動的テンプレートを定義このようなプロパティを作成します。
"_someIds": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
私はこれが今の動的文字列フィールドのデフォルトのマッピングが何であるかを私が間違ってやっているか、なぜわかりません。しかし、idまたはidで終わるすべてのプロパティをキーワードとして、ignore_aboveと完全にインデックスを付けずに動的にマップできるようにする必要があるので、searchAPIを使用してそれらを検索できます。アイデア?なぜこれがデフォルトの文字列マッピングになっているのですか(私はキーワード/テキストの導入については理解していますが、まだ理解しています)。
更新
は、これらのデフォルト設定には良い記事を見つけた:
偉大な応答。私はそれを試してみましょう。 – arturobelano
完璧に作業しました!ありがとう! – arturobelano