マッピングとデータ型の基礎
マッピングの概念、Elasticsearchがデータ型を推測する仕組み、フィールドに単純な明示的マッピングを定義する方法を学びます。
「マッピングとデータ型の基礎」はCoddyKit上の無料Elasticsearch & Full Text Search Systemsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはElasticsearch & Full Text Search Systems学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Elasticsearch & Full Text Search Systemsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Mapping: Your Data's Blueprint
When you put data into Elasticsearch, it needs to understand what kind of data each piece is. This is where mapping comes in.
Mapping is like a schema that defines the fields in your documents and their data types, such as text, numbers, or dates.
Why Mapping Matters
Think of mapping as a blueprint for your search engine. It tells Elasticsearch:
- How to store each field
- How to index (prepare for search) each field
- How each field can be searched and analyzed
Without proper mapping, your searches might not work as expected!
Dynamic Mapping: Elasticsearch's Guess
Elasticsearch is smart! If you index a document without defining a mapping first, it tries to guess the data type for each field. This is called dynamic mapping.
It's convenient for quick starts, but not always ideal for precise control over your data.
Dynamic Mapping Example
Let's see dynamic mapping in action. We'll index a document into a new index called my_books. Elasticsearch will automatically create the index and guess the field types.
PUT /my_books/_doc/1
{
"title": "The Art of Search",
"author": "Jane Doe",
"published_year": 2023,
"is_available": true,
"pages": 320
}Inspecting Dynamic Mappings
After indexing, we can retrieve the automatically generated mapping for my_books to see what data types Elasticsearch inferred for each field.
You'll see types like text, keyword, long, and boolean.
GET /my_books/_mappingLimitations of Dynamic Mapping
While handy, dynamic mapping has limits. For example, Elasticsearch might map a city name as text (for full-text search) when you really need it as a keyword (for exact filtering).
This can lead to inefficient searches or unexpected results. That's why explicit mapping is crucial.
Defining Explicit Mappings
Explicit mapping means you define the schema yourself before indexing documents. This gives you full control over how your data is stored and indexed.
You define mappings when you create an index, inside the mappings object, under properties.
PUT /my_custom_index
{
"mappings": {
"properties": {
"field_name": { "type": "data_type" }
}
}
}Common Data Types: Text & Keyword
Two fundamental types are text and keyword:
text: Used for full-text search (e.g., book descriptions). Text is analyzed, broken into words, and processed.keyword: Used for exact value matching, filtering, and sorting (e.g., product IDs, tags). Keywords are stored as-is.
Explicit Mapping Example: Text & Keyword
Here’s how you'd explicitly map a product_name for search and a product_id for exact filtering.
Notice how we create the index with the mapping before adding any documents.
PUT /products_v1
{
"mappings": {
"properties": {
"product_name": { "type": "text" },
"product_id": { "type": "keyword" }
}
}
}Quick Check: Choosing Data Types
You're building an Elasticsearch index for an e-commerce platform. Which data types would be most appropriate for the following fields to enable efficient searching and filtering?
Recap: Mastering Your Data's Structure
Great job! You've learned the basics of Elasticsearch mapping.
- Mapping defines the structure and types of your document fields.
- Dynamic mapping is Elasticsearch's auto-guessing feature.
- Explicit mapping gives you full control, letting you define types like
text(for search) andkeyword(for exact matches), and numeric types likeintegerandfloat.
Controlling your mappings is key to powerful and accurate search!
よくある質問
「マッピングとデータ型の基礎」レッスンは無料ですか?
はい。「マッピングとデータ型の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Elasticsearch & Full Text Search Systemsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Elasticsearch & Full Text Search Systemsコースには全4レッスンが含まれています。
「マッピングとデータ型の基礎」で何を学びますか?
マッピングの概念、Elasticsearchがデータ型を推測する仕組み、フィールドに単純な明示的マッピングを定義する方法を学びます。 ブラウザで直接実行するハンズオンコードでElasticsearch & Full Text Search Systemsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Elasticsearch & Full Text Search Systemsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのElasticsearch & Full Text Search Systemsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「マッピングとデータ型の基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このElasticsearch & Full Text Search Systemsレッスンでコードを書いて実行できますか?
はい。すべてのElasticsearch & Full Text Search Systemsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。