售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Mastering Elasticsearch 5.x - Third Edition
Credits
Credits
Credits
About the Author
About the Author
About the Author
Acknowledgements
Acknowledgements
Acknowledgements
About the Reviewer
About the Reviewer
About the Reviewer
www.PacktPub.com
www.PacktPub.com
www.PacktPub.com
Why subscribe?
Why subscribe?
Why subscribe?
Customer Feedback
Customer Feedback
Customer Feedback
Preface
Preface
Preface
What this book covers
What this book covers
What this book covers
What you need for this book
What you need for this book
What you need for this book
Who this book is for
Who this book is for
Who this book is for
Conventions
Conventions
Conventions
Reader feedback
Reader feedback
Reader feedback
Customer support
Customer support
Customer support
Downloading the example code
Downloading the example code
Downloading the example code
Downloading the color images of this book
Downloading the color images of this book
Downloading the color images of this book
Errata
Errata
Errata
Piracy
Piracy
Piracy
Questions
Questions
Questions
1. Revisiting Elasticsearch and the Changes
1. Revisiting Elasticsearch and the Changes
1. Revisiting Elasticsearch and the Changes
An overview of Lucene
An overview of Lucene
An overview of Lucene
Getting deeper into the Lucene index
Getting deeper into the Lucene index
Getting deeper into the Lucene index
Inverted index
Inverted index
Inverted index
Segments
Segments
Segments
Norms
Norms
Norms
Term vectors
Term vectors
Term vectors
Posting formats
Posting formats
Posting formats
Doc values
Doc values
Doc values
Document analysis
Document analysis
Document analysis
Basics of the Lucene query language
Basics of the Lucene query language
Basics of the Lucene query language
Querying fields
Querying fields
Querying fields
Term modifiers
Term modifiers
Term modifiers
Handling special characters
Handling special characters
Handling special characters
An overview of Elasticsearch
An overview of Elasticsearch
An overview of Elasticsearch
The key concepts
The key concepts
The key concepts
Working of Elasticsearch
Working of Elasticsearch
Working of Elasticsearch
Introducing Elasticsearch 5.x
Introducing Elasticsearch 5.x
Introducing Elasticsearch 5.x
Introducing new features in Elasticsearch
Introducing new features in Elasticsearch
Introducing new features in Elasticsearch
New features in Elasticsearch 5.x
New features in Elasticsearch 5.x
New features in Elasticsearch 5.x
New features in Elasticsearch 2.x
New features in Elasticsearch 2.x
New features in Elasticsearch 2.x
The changes in Elasticsearch
The changes in Elasticsearch
The changes in Elasticsearch
Changes between 1.x to 2.x
Changes between 1.x to 2.x
Changes between 1.x to 2.x
Mapping changes
Mapping changes
Mapping changes
Query and filter changes
Query and filter changes
Query and filter changes
Security, reliability, and networking changes
Security, reliability, and networking changes
Security, reliability, and networking changes
Monitoring parameter changes
Monitoring parameter changes
Monitoring parameter changes
Changes between 2.x to 5.x
Changes between 2.x to 5.x
Changes between 2.x to 5.x
Mapping changes
Mapping changes
Mapping changes
No more string fields
No more string fields
No more string fields
Floats are default
Floats are default
Floats are default
Changes in numeric fields
Changes in numeric fields
Changes in numeric fields
Changes in geo_point fields
Changes in geo_point fields
Changes in geo_point fields
Some more changes
Some more changes
Some more changes
Summary
Summary
Summary
2. The Improved Query DSL
2. The Improved Query DSL
2. The Improved Query DSL
The changed default text scoring in Lucene - BM25
The changed default text scoring in Lucene - BM25
The changed default text scoring in Lucene - BM25
Precision versus recall
Precision versus recall
Precision versus recall
Recalling TF-IDF
Recalling TF-IDF
Recalling TF-IDF
Introducing BM25 scoring
Introducing BM25 scoring
Introducing BM25 scoring
BM25 scoring formula
BM25 scoring formula
BM25 scoring formula
Example - tuning BM25 with custom similarity
Example - tuning BM25 with custom similarity
Example - tuning BM25 with custom similarity
How BM25 differs from TF-IDF
How BM25 differs from TF-IDF
How BM25 differs from TF-IDF
Saturation point
Saturation point
Saturation point
Average document length
Average document length
Average document length
Re-factored Query DSL
Re-factored Query DSL
Re-factored Query DSL
Choosing the right query for the job
Choosing the right query for the job
Choosing the right query for the job
Query categorization
Query categorization
Query categorization
Basic queries
Basic queries
Basic queries
Compound queries
Compound queries
Compound queries
Understanding bool queries
Understanding bool queries
Understanding bool queries
Non-analyzed queries
Non-analyzed queries
Non-analyzed queries
Full text search queries
Full text search queries
Full text search queries
Pattern queries
Pattern queries
Pattern queries
Similarity supporting queries
Similarity supporting queries
Similarity supporting queries
Score altering queries
Score altering queries
Score altering queries
Position aware queries
Position aware queries
Position aware queries
Structure aware queries
Structure aware queries
Structure aware queries
The use cases
The use cases
The use cases
Example data
Example data
Example data
Basic queries use cases
Basic queries use cases
Basic queries use cases
Searching for values in range
Searching for values in range
Searching for values in range
Compound queries use cases
Compound queries use cases
Compound queries use cases
A Boolean query for multiple terms
A Boolean query for multiple terms
A Boolean query for multiple terms
Boosting some of the matched documents
Boosting some of the matched documents
Boosting some of the matched documents
Ignoring lower scoring partial queries
Ignoring lower scoring partial queries
Ignoring lower scoring partial queries
Not analyzed queries use cases
Not analyzed queries use cases
Not analyzed queries use cases
Limiting results to given tags
Limiting results to given tags
Limiting results to given tags
Full text search queries use cases
Full text search queries use cases
Full text search queries use cases
Using Lucene query syntax in queries
Using Lucene query syntax in queries
Using Lucene query syntax in queries
Handling user queries without errors
Handling user queries without errors
Handling user queries without errors
Pattern queries use cases
Pattern queries use cases
Pattern queries use cases
Autocomplete using prefixes
Autocomplete using prefixes
Autocomplete using prefixes
Pattern matching
Pattern matching
Pattern matching
Similarity supporting queries use cases
Similarity supporting queries use cases
Similarity supporting queries use cases
Finding terms similar to a given one
Finding terms similar to a given one
Finding terms similar to a given one
Score altering query use cases
Score altering query use cases
Score altering query use cases
Decreasing importance of books with a certain value
Decreasing importance of books with a certain value
Decreasing importance of books with a certain value
Pattern query use cases
Pattern query use cases
Pattern query use cases
Matching phrases
Matching phrases
Matching phrases
Spans, spans everywhere
Spans, spans everywhere
Spans, spans everywhere
Some more important changes in Query DSL
Some more important changes in Query DSL
Some more important changes in Query DSL
Query rewrite explained
Query rewrite explained
Query rewrite explained
Prefix query as an example
Prefix query as an example
Prefix query as an example
Getting back to Apache Lucene
Getting back to Apache Lucene
Getting back to Apache Lucene
Query rewrite properties
Query rewrite properties
Query rewrite properties
An example
An example
An example
Query templates
Query templates
Query templates
Introducing search templates
Introducing search templates
Introducing search templates
The Mustache template engine
The Mustache template engine
The Mustache template engine
Conditional expressions
Conditional expressions
Conditional expressions
Loops
Loops
Loops
Default values
Default values
Default values
Storing templates in files
Storing templates in files
Storing templates in files
Storing templates in a cluster
Storing templates in a cluster
Storing templates in a cluster
Summary
Summary
Summary
3. Beyond Full Text Search
3. Beyond Full Text Search
3. Beyond Full Text Search
Controlling multimatching
Controlling multimatching
Controlling multimatching
Multimatch types
Multimatch types
Multimatch types
Best fields matching
Best fields matching
Best fields matching
Cross fields matching
Cross fields matching
Cross fields matching
Most fields matching
Most fields matching
Most fields matching
Phrase matching
Phrase matching
Phrase matching
Phrase with prefixes matching
Phrase with prefixes matching
Phrase with prefixes matching
Controlling scores using the function score query
Controlling scores using the function score query
Controlling scores using the function score query
Built-in functions under the function score query
Built-in functions under the function score query
Built-in functions under the function score query
The weight function
The weight function
The weight function
The field value factor function
The field value factor function
The field value factor function
The script score function
The script score function
The script score function
Decay functions - linear, exp, and gauss
Decay functions - linear, exp, and gauss
Decay functions - linear, exp, and gauss
Query rescoring
Query rescoring
Query rescoring
What is query rescoring?
What is query rescoring?
What is query rescoring?
Structure of the rescore query
Structure of the rescore query
Structure of the rescore query
Rescore parameters
Rescore parameters
Rescore parameters
To sum up
To sum up
To sum up
Elasticsearch scripting
Elasticsearch scripting
Elasticsearch scripting
The syntax
The syntax
The syntax
Scripting changes across different versions
Scripting changes across different versions
Scripting changes across different versions
Painless - the new default scripting language
Painless - the new default scripting language
Painless - the new default scripting language
Using Painless as your scripting language
Using Painless as your scripting language
Using Painless as your scripting language
Variable definition in scripts
Variable definition in scripts
Variable definition in scripts
Conditionals
Conditionals
Conditionals
Loops
Loops
Loops
An example
An example
An example
Sorting results based on scripts
Sorting results based on scripts
Sorting results based on scripts
Sorting based on multiple fields
Sorting based on multiple fields
Sorting based on multiple fields
Lucene expressions
Lucene expressions
Lucene expressions
The basics
The basics
The basics
An example
An example
An example
Summary
Summary
Summary
4. Data Modeling and Analytics
4. Data Modeling and Analytics
4. Data Modeling and Analytics
Data modeling techniques in Elasticsearch
Data modeling techniques in Elasticsearch
Data modeling techniques in Elasticsearch
Managing relational data in Elasticsearch
Managing relational data in Elasticsearch
Managing relational data in Elasticsearch
The object type
The object type
The object type
The nested documents
The nested documents
The nested documents
Parent - child relationship
Parent - child relationship
Parent - child relationship
Parent-child relationship in the cluster
Parent-child relationship in the cluster
Parent-child relationship in the cluster
Finding child documents with a parent ID query
Finding child documents with a parent ID query
Finding child documents with a parent ID query
A few words about alternatives
A few words about alternatives
A few words about alternatives
An example of data denormalization
An example of data denormalization
An example of data denormalization
Data analytics using aggregations
Data analytics using aggregations
Data analytics using aggregations
Instant aggregations in Elasticsearch 5.0
Instant aggregations in Elasticsearch 5.0
Instant aggregations in Elasticsearch 5.0
Revisiting aggregations
Revisiting aggregations
Revisiting aggregations
Metric aggregations
Metric aggregations
Metric aggregations
Bucket aggregations
Bucket aggregations
Bucket aggregations
Pipeline aggregations
Pipeline aggregations
Pipeline aggregations
Calculating average monthly sales using avg_bucket aggregation
Calculating average monthly sales using avg_bucket aggregation
Calculating average monthly sales using avg_bucket aggregation
Calculating the derivative for the sum of the monthly sale
Calculating the derivative for the sum of the monthly sale
Calculating the derivative for the sum of the monthly sale
The new aggregation category - Matrix aggregation
The new aggregation category - Matrix aggregation
The new aggregation category - Matrix aggregation
Understanding matrix stats
Understanding matrix stats
Understanding matrix stats
Dealing with missing values
Dealing with missing values
Dealing with missing values
Summary
Summary
Summary
5. Improving the User Search Experience
5. Improving the User Search Experience
5. Improving the User Search Experience
Correcting user spelling mistakes
Correcting user spelling mistakes
Correcting user spelling mistakes
Testing data
Testing data
Testing data
Getting into technical details
Getting into technical details
Getting into technical details
Suggesters
Suggesters
Suggesters
Using a suggester under the _search endpoint
Using a suggester under the _search endpoint
Using a suggester under the _search endpoint
Understanding the suggester response
Understanding the suggester response
Understanding the suggester response
Multiple suggestion types for the same suggestion text
Multiple suggestion types for the same suggestion text
Multiple suggestion types for the same suggestion text
The term suggester
The term suggester
The term suggester
Configuring the Elasticsearch term suggester
Configuring the Elasticsearch term suggester
Configuring the Elasticsearch term suggester
Common term suggester options
Common term suggester options
Common term suggester options
Additional term suggester options
Additional term suggester options
Additional term suggester options
The phrase suggester
The phrase suggester
The phrase suggester
Usage example
Usage example
Usage example
Configuring the phrase suggester
Configuring the phrase suggester
Configuring the phrase suggester
Basic configuration
Basic configuration
Basic configuration
Configuring smoothing models
Configuring smoothing models
Configuring smoothing models
Configuring candidate generators
Configuring candidate generators
Configuring candidate generators
The completion suggester
The completion suggester
The completion suggester
The logic behind the completion suggester
The logic behind the completion suggester
The logic behind the completion suggester
Using the completion suggester
Using the completion suggester
Using the completion suggester
Indexing data
Indexing data
Indexing data
Querying data
Querying data
Querying data
Custom weights
Custom weights
Custom weights
Using fuzziness with the completion suggester
Using fuzziness with the completion suggester
Using fuzziness with the completion suggester
Implementing your own auto-completion
Implementing your own auto-completion
Implementing your own auto-completion
Creating an index
Creating an index
Creating an index
Understanding the parameters
Understanding the parameters
Understanding the parameters
Configuring settings
Configuring settings
Configuring settings
Configuring mappings
Configuring mappings
Configuring mappings
Indexing documents
Indexing documents
Indexing documents
Querying documents for auto-completion
Querying documents for auto-completion
Querying documents for auto-completion
Working with synonyms
Working with synonyms
Working with synonyms
Preparing settings for synonym search
Preparing settings for synonym search
Preparing settings for synonym search
Formatting synonyms
Formatting synonyms
Formatting synonyms
Synonym expansion versus contraction
Synonym expansion versus contraction
Synonym expansion versus contraction
Summary
Summary
Summary
6. The Index Distribution Architecture
6. The Index Distribution Architecture
6. The Index Distribution Architecture
Configuring an example multi-node cluster
Configuring an example multi-node cluster
Configuring an example multi-node cluster
Choosing the right amount of shards and replicas
Choosing the right amount of shards and replicas
Choosing the right amount of shards and replicas
Sharding and overallocation
Sharding and overallocation
Sharding and overallocation
A positive example of overallocation
A positive example of overallocation
A positive example of overallocation
Multiple shards versus multiple indices
Multiple shards versus multiple indices
Multiple shards versus multiple indices
Replicas
Replicas
Replicas
Routing explained
Routing explained
Routing explained
Shards and data
Shards and data
Shards and data
Let's test routing
Let's test routing
Let's test routing
Indexing with routing
Indexing with routing
Indexing with routing
Routing in practice
Routing in practice
Routing in practice
Querying
Querying
Querying
Aliases
Aliases
Aliases
Multiple routing values
Multiple routing values
Multiple routing values
Shard allocation control
Shard allocation control
Shard allocation control
Allocation awareness
Allocation awareness
Allocation awareness
Forcing allocation awareness
Forcing allocation awareness
Forcing allocation awareness
Shard allocation filtering
Shard allocation filtering
Shard allocation filtering
What include, exclude, and require mean
What include, exclude, and require mean
What include, exclude, and require mean
Runtime allocation updating
Runtime allocation updating
Runtime allocation updating
Index level updates
Index level updates
Index level updates
Cluster level updates
Cluster level updates
Cluster level updates
Defining total shards allowed per node
Defining total shards allowed per node
Defining total shards allowed per node
Defining total shards allowed per physical server
Defining total shards allowed per physical server
Defining total shards allowed per physical server
Inclusion
Inclusion
Inclusion
Requirement
Requirement
Requirement
Exclusion
Exclusion
Exclusion
Disk-based allocation
Disk-based allocation
Disk-based allocation
Query execution preference
Query execution preference
Query execution preference
Introducing the preference parameter
Introducing the preference parameter
Introducing the preference parameter
An example of using query execution preference
An example of using query execution preference
An example of using query execution preference
Stripping data on multiple paths
Stripping data on multiple paths
Stripping data on multiple paths
Index versus type - a revised approach for creating indices
Index versus type - a revised approach for creating indices
Index versus type - a revised approach for creating indices
Summary
Summary
Summary
7. Low-Level Index Control
7. Low-Level Index Control
7. Low-Level Index Control
Altering Apache Lucene scoring
Altering Apache Lucene scoring
Altering Apache Lucene scoring
Available similarity models
Available similarity models
Available similarity models
Setting a per-field similarity
Setting a per-field similarity
Setting a per-field similarity
Similarity model configuration
Similarity model configuration
Similarity model configuration
Choosing the default similarity model
Choosing the default similarity model
Choosing the default similarity model
Configuring the chosen similarity model
Configuring the chosen similarity model
Configuring the chosen similarity model
Configuring the TF-IDF similarity
Configuring the TF-IDF similarity
Configuring the TF-IDF similarity
Configuring the BM25 similarity
Configuring the BM25 similarity
Configuring the BM25 similarity
Configuring the DFR similarity
Configuring the DFR similarity
Configuring the DFR similarity
Configuring the IB similarity
Configuring the IB similarity
Configuring the IB similarity
Configuring the LM Dirichlet similarity
Configuring the LM Dirichlet similarity
Configuring the LM Dirichlet similarity
Configuring the LM Jelinek Mercer similarity
Configuring the LM Jelinek Mercer similarity
Configuring the LM Jelinek Mercer similarity
Choosing the right directory implementation - the store module
Choosing the right directory implementation - the store module
Choosing the right directory implementation - the store module
The store type
The store type
The store type
The simple file system store - simplefs
The simple file system store - simplefs
The simple file system store - simplefs
The new I/O filesystem store - niofs
The new I/O filesystem store - niofs
The new I/O filesystem store - niofs
The mmap filesystem store - mmapfs
The mmap filesystem store - mmapfs
The mmap filesystem store - mmapfs
The default store type - fs
The default store type - fs
The default store type - fs
NRT, flush, refresh, and transaction log
NRT, flush, refresh, and transaction log
NRT, flush, refresh, and transaction log
Updating the index and committing changes
Updating the index and committing changes
Updating the index and committing changes
Changing the default refresh time
Changing the default refresh time
Changing the default refresh time
The transaction log
The transaction log
The transaction log
The transaction log configuration
The transaction log configuration
The transaction log configuration
Handling corrupted translogs
Handling corrupted translogs
Handling corrupted translogs
Near real-time GET
Near real-time GET
Near real-time GET
Segment merging under control
Segment merging under control
Segment merging under control
Merge policy changes in Elasticsearch
Merge policy changes in Elasticsearch
Merge policy changes in Elasticsearch
Configuring the tiered merge policy
Configuring the tiered merge policy
Configuring the tiered merge policy
Merge scheduling
Merge scheduling
Merge scheduling
The concurrent merge scheduler
The concurrent merge scheduler
The concurrent merge scheduler
Force merging
Force merging
Force merging
Understanding Elasticsearch caching
Understanding Elasticsearch caching
Understanding Elasticsearch caching
Node query cache
Node query cache
Node query cache
Configuring node query cache
Configuring node query cache
Configuring node query cache
Shard request cache
Shard request cache
Shard request cache
Enabling and disabling the shard request cache
Enabling and disabling the shard request cache
Enabling and disabling the shard request cache
Request cache settings
Request cache settings
Request cache settings
Cache invalidation
Cache invalidation
Cache invalidation
The field data cache
The field data cache
The field data cache
Field data or doc values
Field data or doc values
Field data or doc values
Using circuit breakers
Using circuit breakers
Using circuit breakers
The parent circuit breaker
The parent circuit breaker
The parent circuit breaker
The field data circuit breaker
The field data circuit breaker
The field data circuit breaker
The request circuit breaker
The request circuit breaker
The request circuit breaker
In flight requests circuit breaker
In flight requests circuit breaker
In flight requests circuit breaker
Script compilation circuit breaker
Script compilation circuit breaker
Script compilation circuit breaker
Summary
Summary
Summary
8. Elasticsearch Administration
8. Elasticsearch Administration
8. Elasticsearch Administration
Node types in Elasticsearch
Node types in Elasticsearch
Node types in Elasticsearch
Data node
Data node
Data node
Master node
Master node
Master node
Ingest node
Ingest node
Ingest node
Tribe node
Tribe node
Tribe node
Coordinating nodes/Client nodes
Coordinating nodes/Client nodes
Coordinating nodes/Client nodes
Discovery and recovery modules
Discovery and recovery modules
Discovery and recovery modules
Discovery configuration
Discovery configuration
Discovery configuration
Zen discovery
Zen discovery
Zen discovery
The unicast Zen discovery configuration
The unicast Zen discovery configuration
The unicast Zen discovery configuration
The master election configuration
The master election configuration
The master election configuration
Zen discovery fault detection and configuration
Zen discovery fault detection and configuration
Zen discovery fault detection and configuration
No Master Block
No Master Block
No Master Block
The Amazon EC2 discovery
The Amazon EC2 discovery
The Amazon EC2 discovery
The EC2 plugin installation
The EC2 plugin installation
The EC2 plugin installation
The EC2 plugin's generic configuration
The EC2 plugin's generic configuration
The EC2 plugin's generic configuration
Optional EC2 discovery configuration options
Optional EC2 discovery configuration options
Optional EC2 discovery configuration options
The EC2 nodes scanning configuration
The EC2 nodes scanning configuration
The EC2 nodes scanning configuration
Other discovery implementations
Other discovery implementations
Other discovery implementations
The gateway and recovery configuration
The gateway and recovery configuration
The gateway and recovery configuration
The gateway recovery process
The gateway recovery process
The gateway recovery process
Configuration properties
Configuration properties
Configuration properties
The local gateway
The local gateway
The local gateway
Low-level recovery configuration
Low-level recovery configuration
Low-level recovery configuration
Cluster-level recovery configuration
Cluster-level recovery configuration
Cluster-level recovery configuration
The indices recovery API
The indices recovery API
The indices recovery API
The human-friendly status API - using the cat API
The human-friendly status API - using the cat API
The human-friendly status API - using the cat API
The basics of cat API
The basics of cat API
The basics of cat API
Using the cat API
Using the cat API
Using the cat API
Cat API common arguments
Cat API common arguments
Cat API common arguments
The examples of cat API
The examples of cat API
The examples of cat API
Getting information about the master node
Getting information about the master node
Getting information about the master node
Getting information about the nodes
Getting information about the nodes
Getting information about the nodes
Changes in cat API - Elasticsearch 5.0
Changes in cat API - Elasticsearch 5.0
Changes in cat API - Elasticsearch 5.0
Host field removed from the cat nodes API
Host field removed from the cat nodes API
Host field removed from the cat nodes API
Changes to cat recovery API
Changes to cat recovery API
Changes to cat recovery API
Changes to cat nodes API
Changes to cat nodes API
Changes to cat nodes API
Changes to cat field data API
Changes to cat field data API
Changes to cat field data API
Backing up
Backing up
Backing up
The snapshot API
The snapshot API
The snapshot API
Saving backups on a filesystem
Saving backups on a filesystem
Saving backups on a filesystem
Creating snapshot
Creating snapshot
Creating snapshot
Registering repository path
Registering repository path
Registering repository path
Registering shared file system repository in Elasticsearch
Registering shared file system repository in Elasticsearch
Registering shared file system repository in Elasticsearch
Creating snapshots
Creating snapshots
Creating snapshots
Getting snapshot information
Getting snapshot information
Getting snapshot information
Deleting snapshots
Deleting snapshots
Deleting snapshots
Saving backups in the cloud
Saving backups in the cloud
Saving backups in the cloud
The S3 repository
The S3 repository
The S3 repository
The HDFS repository
The HDFS repository
The HDFS repository
The Azure repository
The Azure repository
The Azure repository
The Google cloud storage repository
The Google cloud storage repository
The Google cloud storage repository
Restoring snapshots
Restoring snapshots
Restoring snapshots
Example - restoring a snapshot
Example - restoring a snapshot
Example - restoring a snapshot
Restoring multiple indices
Restoring multiple indices
Restoring multiple indices
Renaming indices
Renaming indices
Renaming indices
Partial restore
Partial restore
Partial restore
Changing index settings during restore
Changing index settings during restore
Changing index settings during restore
Restoring to different cluster
Restoring to different cluster
Restoring to different cluster
Summary
Summary
Summary
9. Data Transformation and Federated Search
9. Data Transformation and Federated Search
9. Data Transformation and Federated Search
Preprocessing data within Elasticsearch with ingest nodes
Preprocessing data within Elasticsearch with ingest nodes
Preprocessing data within Elasticsearch with ingest nodes
Working with ingest pipeline
Working with ingest pipeline
Working with ingest pipeline
The ingest APIs
The ingest APIs
The ingest APIs
Creating a pipeline
Creating a pipeline
Creating a pipeline
Getting pipeline details
Getting pipeline details
Getting pipeline details
Deleting a pipeline
Deleting a pipeline
Deleting a pipeline
Simulating pipelines for debugging purposes
Simulating pipelines for debugging purposes
Simulating pipelines for debugging purposes
Handling errors in pipelines
Handling errors in pipelines
Handling errors in pipelines
Tagging errors within the same document and index
Tagging errors within the same document and index
Tagging errors within the same document and index
Indexing error prone documents in a different index
Indexing error prone documents in a different index
Indexing error prone documents in a different index
Ignoring errors altogether
Ignoring errors altogether
Ignoring errors altogether
Working with ingest processors
Working with ingest processors
Working with ingest processors
Append processor
Append processor
Append processor
Convert processor
Convert processor
Convert processor
Grok processor
Grok processor
Grok processor
Federated search
Federated search
Federated search
The test clusters
The test clusters
The test clusters
Creating the tribe node
Creating the tribe node
Creating the tribe node
Reading data with the tribe node
Reading data with the tribe node
Reading data with the tribe node
Master-level read operations
Master-level read operations
Master-level read operations
Writing data with the tribe node
Writing data with the tribe node
Writing data with the tribe node
Master-level write operations
Master-level write operations
Master-level write operations
Handling indices conflicts
Handling indices conflicts
Handling indices conflicts
Blocking write operations
Blocking write operations
Blocking write operations
Summary
Summary
Summary
10. Improving Performance
10. Improving Performance
10. Improving Performance
Query validation and profiling
Query validation and profiling
Query validation and profiling
Validating expensive queries before execution
Validating expensive queries before execution
Validating expensive queries before execution
Query profiling for detailed query execution reports
Query profiling for detailed query execution reports
Query profiling for detailed query execution reports
Understanding the profile API response
Understanding the profile API response
Understanding the profile API response
Consideration for profiling usage
Consideration for profiling usage
Consideration for profiling usage
Very hot threads
Very hot threads
Very hot threads
Usage clarification for the hot threads API
Usage clarification for the hot threads API
Usage clarification for the hot threads API
The hot threads API response
The hot threads API response
The hot threads API response
Scaling Elasticsearch
Scaling Elasticsearch
Scaling Elasticsearch
Vertical scaling
Vertical scaling
Vertical scaling
Horizontal scaling
Horizontal scaling
Horizontal scaling
Automatically creating replicas
Automatically creating replicas
Automatically creating replicas
Redundancy and high availability
Redundancy and high availability
Redundancy and high availability
Cost and performance flexibility
Cost and performance flexibility
Cost and performance flexibility
Continuous upgrades
Continuous upgrades
Continuous upgrades
Multiple Elasticsearch instances on a single physical machine
Multiple Elasticsearch instances on a single physical machine
Multiple Elasticsearch instances on a single physical machine
Preventing the shard and its replicas from being on the same node
Preventing the shard and its replicas from being on the same node
Preventing the shard and its replicas from being on the same node
Designated nodes' roles for larger clusters
Designated nodes' roles for larger clusters
Designated nodes' roles for larger clusters
Query aggregator nodes
Query aggregator nodes
Query aggregator nodes
Data nodes
Data nodes
Data nodes
Master eligible nodes
Master eligible nodes
Master eligible nodes
Using Elasticsearch for high load scenarios
Using Elasticsearch for high load scenarios
Using Elasticsearch for high load scenarios
General Elasticsearch-tuning advice
General Elasticsearch-tuning advice
General Elasticsearch-tuning advice
The index refresh rate
The index refresh rate
The index refresh rate
Thread pools tuning
Thread pools tuning
Thread pools tuning
Data distribution
Data distribution
Data distribution
Advice for high query rate scenarios
Advice for high query rate scenarios
Advice for high query rate scenarios
Node query cache and shard query cache
Node query cache and shard query cache
Node query cache and shard query cache
Think about the queries
Think about the queries
Think about the queries
Using routing
Using routing
Using routing
Parallelize your queries
Parallelize your queries
Parallelize your queries
Keeping size and shard_size under control
Keeping size and shard_size under control
Keeping size and shard_size under control
High indexing throughput scenarios and Elasticsearch
High indexing throughput scenarios and Elasticsearch
High indexing throughput scenarios and Elasticsearch
Bulk indexing
Bulk indexing
Bulk indexing
Keeping your document fields under control
Keeping your document fields under control
Keeping your document fields under control
The index architecture and replication
The index architecture and replication
The index architecture and replication
Tuning the write-ahead log
Tuning the write-ahead log
Tuning the write-ahead log
Thinking about storage
Thinking about storage
Thinking about storage
RAM buffer for indexing
RAM buffer for indexing
RAM buffer for indexing
Managing time-based indices efficiently using shrink and rollover APIs
Managing time-based indices efficiently using shrink and rollover APIs
Managing time-based indices efficiently using shrink and rollover APIs
The shrink API
The shrink API
The shrink API
Requirements for indices to be shrunk
Requirements for indices to be shrunk
Requirements for indices to be shrunk
Shrinking an index
Shrinking an index
Shrinking an index
Rollover API
Rollover API
Rollover API
Using the rollover API
Using the rollover API
Using the rollover API
Passing additional settings with a rollover request
Passing additional settings with a rollover request
Passing additional settings with a rollover request
Pattern for creating new index name
Pattern for creating new index name
Pattern for creating new index name
Summary
Summary
Summary
11. Developing Elasticsearch Plugins
11. Developing Elasticsearch Plugins
11. Developing Elasticsearch Plugins
Creating the Apache Maven project structure
Creating the Apache Maven project structure
Creating the Apache Maven project structure
Understanding the basics
Understanding the basics
Understanding the basics
The structure of the Maven Java project
The structure of the Maven Java project
The structure of the Maven Java project
The idea of POM
The idea of POM
The idea of POM
Running the build process
Running the build process
Running the build process
Introducing the assembly Maven plugin
Introducing the assembly Maven plugin
Introducing the assembly Maven plugin
Understanding the plugin descriptor file
Understanding the plugin descriptor file
Understanding the plugin descriptor file
Creating a custom REST action
Creating a custom REST action
Creating a custom REST action
The assumptions
The assumptions
The assumptions
Implementation details
Implementation details
Implementation details
Using the REST action class
Using the REST action class
Using the REST action class
The constructor
The constructor
The constructor
Handling requests
Handling requests
Handling requests
Writing responses
Writing responses
Writing responses
The plugin class
The plugin class
The plugin class
Informing Elasticsearch about our REST action
Informing Elasticsearch about our REST action
Informing Elasticsearch about our REST action
Time for testing
Time for testing
Time for testing
Building the REST action plugin
Building the REST action plugin
Building the REST action plugin
Installing the REST action plugin
Installing the REST action plugin
Installing the REST action plugin
Checking whether the REST action plugin works
Checking whether the REST action plugin works
Checking whether the REST action plugin works
Creating the custom analysis plugin
Creating the custom analysis plugin
Creating the custom analysis plugin
Implementation details
Implementation details
Implementation details
Implementing TokenFilter
Implementing TokenFilter
Implementing TokenFilter
Implementing the TokenFilter factory
Implementing the TokenFilter factory
Implementing the TokenFilter factory
Implementing the class custom analyzer
Implementing the class custom analyzer
Implementing the class custom analyzer
Implementing the analyzer provider
Implementing the analyzer provider
Implementing the analyzer provider
Implementing the analyzer plugin
Implementing the analyzer plugin
Implementing the analyzer plugin
Informing Elasticsearch about our custom analyzer
Informing Elasticsearch about our custom analyzer
Informing Elasticsearch about our custom analyzer
Testing our custom analysis plugin
Testing our custom analysis plugin
Testing our custom analysis plugin
Building our custom analysis plugin
Building our custom analysis plugin
Building our custom analysis plugin
Installing the custom analysis plugin
Installing the custom analysis plugin
Installing the custom analysis plugin
Checking whether our analysis plugin works
Checking whether our analysis plugin works
Checking whether our analysis plugin works
Summary
Summary
Summary
12. Introducing Elastic Stack 5.0
12. Introducing Elastic Stack 5.0
12. Introducing Elastic Stack 5.0
Overview of Elastic Stack 5.0
Overview of Elastic Stack 5.0
Overview of Elastic Stack 5.0
Introducing Logstash, Beats, and Kibana
Introducing Logstash, Beats, and Kibana
Introducing Logstash, Beats, and Kibana
Working with Logstash
Working with Logstash
Working with Logstash
Logstash architecture
Logstash architecture
Logstash architecture
Installing Logstash
Installing Logstash
Installing Logstash
Installing Logstash from binaries
Installing Logstash from binaries
Installing Logstash from binaries
Installing Logstash from APT repositories
Installing Logstash from APT repositories
Installing Logstash from APT repositories
Installing Logstash from YUM repositories
Installing Logstash from YUM repositories
Installing Logstash from YUM repositories
Configuring Logstash
Configuring Logstash
Configuring Logstash
Example - shipping system logs using Logstash
Example - shipping system logs using Logstash
Example - shipping system logs using Logstash
Starting Logstash
Starting Logstash
Starting Logstash
Introducing Beats as data shippers
Introducing Beats as data shippers
Introducing Beats as data shippers
Working with Metricbeat
Working with Metricbeat
Working with Metricbeat
Installing Metricbeat
Installing Metricbeat
Installing Metricbeat
Configuring Metricbeat
Configuring Metricbeat
Configuring Metricbeat
Running Metricbeat
Running Metricbeat
Running Metricbeat
Loading a sample Kibana dashboard into Elasticsearch
Loading a sample Kibana dashboard into Elasticsearch
Loading a sample Kibana dashboard into Elasticsearch
Working with Kibana
Working with Kibana
Working with Kibana
Installing Kibana
Installing Kibana
Installing Kibana
Kibana configuration
Kibana configuration
Kibana configuration
Starting Kibana
Starting Kibana
Starting Kibana
Exploring and visualizing data on Kibana
Exploring and visualizing data on Kibana
Exploring and visualizing data on Kibana
Understanding the Kibana Management screen
Understanding the Kibana Management screen
Understanding the Kibana Management screen
Discovering data on Kibana
Discovering data on Kibana
Discovering data on Kibana
Using the Dashboard screen to create/load dashboards
Using the Dashboard screen to create/load dashboards
Using the Dashboard screen to create/load dashboards
Using Sense
Using Sense
Using Sense
Summary
Summary
Summary
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜