0

そのタイプの最初のドキュメントを作成するか、マッピングを配置すると、フィールドごとにインデックスが作成されますか?

明らかに、「インデックス」を「分析済み」または「分析なし」に設定すると、フィールドにインデックスが付けられます。

フィールドを保存して取得できるようにする方法はありますか? 私はこれが多くのスペースを節約すると思いますか?これを「いいえ」に設定すると、スペースが節約されますか?

これでまだ検索できますか、もっと時間がかかりますか、それとも完全に検索できなくなりますか?

いくつかのドキュメントが挿入された後で気が変わった後にフィールドをインデックス化する方法はありますか?

たとえば、次のマッピングがあるとします。

{
 "book":{"properties":{
     "title":{"type":"string", "index":"not_analyzed"},
     "shelf":{"type":"long","index":"no"}
}}}

タイトルで検索できるようにしたいだけでなく、本が置かれている棚も取得したい

4

1 に答える 1

1

index:no実際、そのフィールドのインデックスは作成されないため、スペースが節約されます。それが完了すると、その特定のフィールドを検索することはできなくなります。

_sourceおそらく、このコンテキストで役立つのは、デフォルトで返され、保存したすべてのフィールドを含むフィールドについて知ることです。http://www.elasticsearch.org/guide/reference/mapping/source-field/

2 番目の質問についてですが、途中で気が変わることはありません。後で特定のフィールドをインデックス化する場合は、ドキュメントを再インデックス化する必要があります。

そのため、index:no などの設定を再検討することをお勧めします。実際に開始するのに適した戦略は、フィールドのスキーマをまったく定義しないことです。たとえば、特定のフィールド。それ以外の場合、ES は一般的に使用可能なデフォルトを使用します。

于 2013-05-08T18:19:21.647 に答える