質問 1
Differentiate between a Shard and a Replica in Elasticsearch.
A shard is a basic unit that stores data, while a replica is a copy of a shard for fault tolerance and scalability.
質問 2
Explain the purpose of an Analyzer in Elasticsearch.
An analyzer is used to preprocess data during indexing and searching, including tokenization and stemming.
質問 3
What is Inverted Index in Elasticsearch?
An inverted index is a data structure used to efficiently map terms to the documents containing them.
質問 4
Describe the significance of the 'Mapping' in Elasticsearch.
Mapping defines how documents and their fields are stored and indexed, specifying data types and configurations.
質問 5
How does Elasticsearch handle distributed search and indexing?
Elasticsearch distributes data across nodes, allowing for parallel processing and improved performance.
質問 6
What is the purpose of the 'Query DSL' in Elasticsearch?
The Query DSL (Domain Specific Language) allows users to define queries and filters using a JSON-like syntax.
質問 7
How does Elasticsearch handle schema-less data?
Elasticsearch allows dynamic mapping, automatically inferring field data types based on the inserted documents.
質問 8
What is the purpose of the 'Aggregation' framework in Elasticsearch?
Aggregations provide the capability to perform complex analysis and computation on the data.
質問 9
How does Elasticsearch handle relevance scoring in search results?
Elasticsearch uses a scoring algorithm based on the relevance of documents to the search query.
質問 10
Explain the term 'Mapping Conflict' in Elasticsearch.
Mapping conflict occurs when conflicting field types are encountered during dynamic mapping.
質問 11
What is the purpose of the 'Snapshot' and 'Restore' feature in Elasticsearch?
Snapshot and Restore allow for the backup and recovery of an entire cluster or specific indices.
質問 12
Describe the 'Search Shards' concept in Elasticsearch.
Search Shards are individual units of a search request distributed across nodes for parallel processing.
質問 13
Explain the use of the 'Alias' feature in Elasticsearch.
Aliases are used to provide a permanent and abstract name to an index, simplifying index management and searches.
質問 14
What is the purpose of the 'Fielddata' cache in Elasticsearch?
Fielddata cache stores the data structures necessary for sorting and aggregating on fields, improving performance.
質問 15
Explain the role of the 'Cluster State' in Elasticsearch.
The Cluster State holds information about the entire cluster, including metadata about indices, nodes, and shards.
質問 16
What is the purpose of the 'Recovery' process in Elasticsearch?
Recovery is the process of restoring a shard to a consistent state after a node failure or restart.
質問 17
Explain the term 'Fuzzy Query' in Elasticsearch.
A Fuzzy Query is used to find documents that match a specified term with a certain degree of error or similarity.
質問 18
What is the purpose of the 'Token Filter' in Elasticsearch?
Token Filters modify the tokens generated during the tokenization process, influencing the search and indexing process.
質問 19
Explain the term 'Caching' in Elasticsearch.
Caching involves storing frequently used data to reduce the need for repeated computations, improving performance.
質問 20
What is the purpose of the 'Routing' in Elasticsearch?
Routing determines which shard a document should be stored in based on a predefined value, optimizing search performance.
質問 21
Explain the concept of an index in Elasticsearch.
An index in Elasticsearch is a collection of documents that share similar characteristics. It is similar to a database in relational databases.
Example:
PUT /my_index
質問 22
What is a shard in Elasticsearch?
A shard is a basic unit of storage and search in Elasticsearch. Indexes are divided into shards to distribute data across multiple nodes for scalability.
Example:
PUT /my_index/_settings
{
"number_of_shards": 5
}
質問 23
Explain the purpose of the term 'mapping' in Elasticsearch.
Mapping in Elasticsearch is the process of defining how a document and its fields are stored and indexed. It helps in defining the data type, analysis, and other properties.
Example:
PUT /my_index
{
"mappings": {
"properties": {
"title": { "type": "text" }
}
}
}
質問 24
Explain the purpose of the 'Analyzer' in Elasticsearch.
An analyzer in Elasticsearch is responsible for processing the text during indexing and searching. It includes a tokenizer and one or more token filters.
Example:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"custom_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": ["lowercase", "my_custom_filter"]
}
}
}
}
}
質問 25
What is the purpose of the 'Query DSL' in Elasticsearch?
The Query DSL (Domain Specific Language) in Elasticsearch is used to define queries in a JSON format. It allows for complex and flexible querying of data.
Example:
{
"query": {
"match": {
"field": "value"
}
}
}
質問 26
Explain the 'Bulk' API in Elasticsearch.
The Bulk API in Elasticsearch allows you to index, delete, or update multiple documents in a single request for better performance. It reduces the overhead of handling individual requests.
Example:
POST /my_index/_bulk
{ "index": { "_id": "1" } }
{ "field": "value1" }
{ "delete": { "_id": "2" } }
{ "create": { "_id": "3" } }
{ "field": "value3" }
質問 27
How does the 'Geo-Point' type work in Elasticsearch?
The 'Geo-Point' type in Elasticsearch is used to index and search for geographical coordinates, such as latitude and longitude. It enables spatial queries for location-based data.
Example:
PUT /my_index
{
"mappings": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
質問 28
Explain the concept of 'Refresh' in Elasticsearch.
The 'Refresh' operation in Elasticsearch makes recent changes to the index immediately visible for search. It is an important aspect for near real-time search.
Example:
POST /my_index/_refresh
質問 29
Explain the concept of 'Routing' in Elasticsearch.
Routing in Elasticsearch is the process of determining which shard a document should be stored in. It is based on the document's routing value and helps distribute data evenly.
Example:
PUT /my_index/_doc/1?routing=user123
{
"field": "value"
}
質問 30
Explain the use of the 'Nested' datatype in Elasticsearch.
The 'Nested' datatype in Elasticsearch is used when dealing with arrays of objects. It allows you to query and index objects as separate entities, maintaining the relationships.
Example:
PUT /my_index
{
"mappings": {
"properties": {
"comments": {
"type": "nested"
}
}
}
}
質問 31
How does the 'Fuzzy' query work in Elasticsearch?
The 'Fuzzy' query in Elasticsearch is used to find approximate matches for a given query term. It is useful for handling typos or variations in spelling.
Example:
GET /my_index/_search
{
"query": {
"fuzzy": {
"field": "value",
"fuzziness": 2
}
}
}
質問 32
What is the 'Wildcards' query in Elasticsearch used for?
The 'Wildcards' query allows you to perform wildcard-based searches on string fields. It supports '*' for any number of characters and '?' for a single character.
Example:
GET /my_index/_search
{
"query": {
"wildcard": {
"field": "va*lue"
}
}
}
質問 33
Explain the concept of 'Field Data' in Elasticsearch.
Field Data in Elasticsearch is used to cache field values in memory for better performance. It is essential for aggregations and sorting operations.
Example:
GET /my_index/_search
{
"aggs": {
"sum_prices": {
"sum": {
"field": "price",
"format": "doc_values"
}
}
}
}