Elasticsearchの新機能です。私はデフォルトでは、ESは各フィールドのすべての単語のインデックスを作成します。しかし、私のユースケースでは、2つのフィールドしか検索しないので、ESに何らかの理由でドキュメント内のすべてのインデックスを作成せず、マッピングで指定したフィールドのみをインデックスに作成するように考えています。 SOここelasticsearchでインデックスフィールドの数を制限することはできますか?5.3
は私のマッピング
PUT /benefits
{
"mappings": {
"benefit": {
"_all": {"enabled": false},
"properties": {
"subCategory": {"type": "text"},
"description": {"type": "text"}
}
}
}
}
で、私の文書は、だから私は唯一"subCategory"
と"description"
上(ない"planName"
または任意の上で検索されます。この
{
"bpi" : "123456",
"category" : "CAT1",
"subCategory" : "Primary Care Physician Copay",
"planName" : "MyPlan HMO Individual",
"description" : "0 per office visit for Convenient Care & Minute Clinics Complete ABC Document",
"categoryId" : 200.0,
"desktop360Id" : 1001.0,
"createTimeStamp" : "2017-02-21T22:00:12.000Z"
}
のように見えます他のフィールドテキスト)、上記のマッピングに示すようにインデックス/マッピングを作成しましたが、他のフィールドでテキストを検索することはできますよくたとえば、「MyPlan」を"planName"
フィールドから検索すると、検索が機能し、このドキュメントが表示されます。それは、すべてのフィールドのすべての単語(それらの 'a'、 'of'タイプを除く)のインデックスを作成したことを意味しますか?私は、私が必要としないインデックスに記憶を費やしたくないので、この質問をします。
提案がありますか?
マッピングに「_all」と同じレベルの「dynamic」:「false」を追加するだけです。これはオブジェクトレベルで行いますが、インデックスレベルまたはテンプレートで設定してすべてのインデックスに対して設定することもできます。これに関する情報[here](https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic-mapping.html) – Olivier
ありがとうOlivier。私はそれを得たと思う。私は 'あなたの質問に答える'の例を参照してください。 – JBone