售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
ElasticSearch Server
Table of Contents
ElasticSearch Server
Credits
About the Authors
Acknowledgement
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with ElasticSearch Cluster
What is ElasticSearch?
Index
Document
Document type
Node and cluster
Shard
Replica
Installing and configuring your cluster
Directory structure
Configuring ElasticSearch
Running ElasticSearch
Shutting down ElasticSearch
Running ElasticSearch as a system service
Data manipulation with REST API
What is REST?
Storing data in ElasticSearch
Creating a new document
Retrieving documents
Updating documents
Deleting documents
Manual index creation and mappings configuration
Index
Types
Index manipulation
Schema mapping
Type definition
Fields
Core types
Common attributes
String
Number
Date
Boolean
Binary
Multi fields
Using analyzers
Out-of-the-box analyzers
Defining your own analyzers
Analyzer fields
Default analyzers
Storing a document source
All field
Dynamic mappings and templates
Type determining mechanism
Dynamic mappings
Templates
Storing templates in files
When routing does matter
How does indexing work?
How does searching work?
Routing
Routing parameters
Routing fields
Index aliasing and simplifying your everyday work using it
An alias
Creating an alias
Modifying aliases
Combining commands
Retrieving all aliases
Filtering aliases
Aliases and routing
Summary
2. Searching Your Data
Understanding the querying and indexing process
Mappings
Data
Querying ElasticSearch
Simple query
Paging and results size
Returning the version
Limiting the score
Choosing the fields we want to return
Partial fields
Using script fields
Passing parameters to script fields
Choosing the right search type (advanced)
Search execution preference (advanced)
Basic queries
The term query
The terms query
The match query
The Boolean match query
The phrase match query
The match phrase prefix query
The multi match query
The query string query
Lucene query syntax
Explaining the query string
Running query string query against multiple fields
The field query
The identifiers query
The prefix query
The fuzzy like this query
The fuzzy like this field query
The fuzzy query
The match all query
The wildcard query
The more like this query
The more like this field query
The range query
Query rewrite
Filtering your results
Using filters
Range filters
Exists
Missing
Script
Type
Limit
IDs
If this is not enough
bool, and, or, not filters
Named filters
Caching filters
Compound queries
The bool query
The boosting query
The constant score query
The indices query
The custom filters score query
The custom boost factor query
The custom score query
Sorting data
Default sorting
Selecting fields used for sorting
Specifying behavior for missing fields
Dynamic criteria
Collation and national characters
Using scripts
Available objects
MVEL
Other languages
Script library
Native code
Summary
3. Extending Your Structure and Search
Indexing data that is not flat
Data
Objects
Arrays
Mappings
Final mappings
To be or not to be dynamic
Sending the mappings to ElasticSearch
Extending your index structure with additional internal information
The identifier field
The _type field
The _all field
The _source field
The _boost field
The _index field
The _size field
The _timestamp field
The _ttl field
Highlighting
Getting started with highlighting
Field configuration
Under the hood
Configuring HTML tags
Controlling highlighted fragments
Global and local settings
Require matching
Autocomplete
The prefix query
Edge ngrams
Faceting
Handling files
Additional information about a file
Geo
Mapping preparation for spatial search
Example data
Sample queries
Bounding box filtering
Limiting the distance
Summary
4. Make Your Search Better
Why this document was found
Understanding how a field is analyzed
Explaining the query
Influencing scores with query boosts
What is boost?
Adding boost to queries
Modifying the score
Constant score query
Custom boost factor query
Boosting query
Custom score query
Custom filters score query
When does index-time boosting make sense
Defining field boosting in input data
Defining document boosting in input data
Defining boosting in mapping
The words having the same meaning
Synonym filter
Synonyms in mappings
Synonyms in files
Defining synonym rules
Using Apache Solr synonyms
Explicit synonyms
Equivalent synonyms
Expanding synonyms
Using WordNet synonyms
Query- or index-time synonym expansion
Searching content in different languages
Why we need to handle languages differently
How to handle multiple languages
Detecting a document's language
Sample document
Mappings
Querying
Queries with a known language
Queries with an unknown language
Combining queries
Using span queries
What is a span?
Span term query
Span first query
Span near query
Span or query
Span not query
Performance considerations
Summary
5. Combining Indexing, Analysis, and Search
Indexing tree-like structures
Modifying your index structure with the update API
The mapping
Adding a new field
Modifying fields
Using nested objects
Using parent-child relationships
Mappings and indexing
Creating parent mappings
Creating child mappings
Parent document
Child documents
Querying
Querying for data in the child documents
The top children query
Querying for data in the parent documents
Parent-child relationship and filtering
Performance considerations
Fetching data from other systems: river
What we need and what a river is
Installing and configuring a river
Batch indexing to speed up your indexing process
How to prepare data
Indexing the data
Is it possible to do it quicker?
Summary
6. Beyond Searching
Faceting
Document structure
Returned results
Query
Filter
Terms
Range
Choosing different fields for aggregated data calculation
Numerical and date histogram
Date histogram
Statistical
Terms statistics
Spatial
Filtering faceting results
Scope of your faceting calculation
Facet calculation on all nested documents
Facet calculation on nested documents that match a query
Faceting memory considerations
More like this
Example data
Finding similar documents
Percolator
Preparing the percolator
Getting deeper
Summary
7. Administrating Your Cluster
Monitoring your cluster state and health
The cluster health API
The indices stats API
Docs
Store
Indexing, get, and search
The status API
The nodes info API
The nodes stats API
The cluster state API
The indices segments API
Controlling shard and replica allocation
Explicitly controlling allocation
Specifying nodes' parameters
Configuration
Index creation
Excluding nodes from allocation
Using IP addresses for shard allocation
Cluster-wide allocation
Number of shards and replicas per node
Manually moving shards and replicas
Moving shards
Canceling allocation
Allocating shards
Multiple commands per HTTP request
Tools for instance and cluster state diagnosis
Bigdesk
elasticsearch-head
elasticsearch-paramedic
SPM for ElasticSearch
Your ElasticSearch time machine
The gateway module
Local gateway
Shared filesystem gateway
Hadoop distributed filesystem gateway
Plugin needed
Amazon s3 gateway
Plugin needed
Recovery control
Node discovery
Discovery types
Master node
Configuring master and data nodes
Master election configuration
Setting the cluster name
Configuring multicast
Configuring unicast
Nodes ping settings
ElasticSearch plugins
Installing plugins
Removing plugins
Plugin types
Summary
8. Dealing with Problems
Why is the result on later pages slow
What is the problem?
Scrolling to the rescue
Controlling cluster rebalancing
What is rebalancing?
When is the cluster ready?
The cluster rebalancing settings
Controlling when rebalancing will start
Controlling the number of shards being moved between nodes concurrently
Controlling the number of shards initialized concurrently on a single node
Controlling the number of primary shards initialized concurrently on a single node
Disabling the allocation of shards and replicas
Disabling the allocation of replicas
Validating your queries
How to use the Validate API
Warming up
Defining a new warming query
Retrieving defined warming queries
Deleting a warming query
Disabling the warming up functionality
Which queries to choose
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜