万本电子书0元读

万本电子书0元读

顶部广告

Elasticsearch Essentials电子书

售       价:¥

9人正在读 | 0人评论 9.8

作       者:Bharvi Dixit

出  版  社:Packt Publishing

出版时间:2016-01-30

字       数:213.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Harness the power of ElasticSearch to build and manage scalable search and analytics solutions with this fast-paced guideAbout This BookNew to ElasticSearchHere’s what you need—a highly practical guide that gives you a quick start with ElasticSearch using easy-to-follow examples; get up and running with ElasticSearch APIs in no timeGet the latest guide on ElasticSearch 2.0.0, which contains concise and adequate information on handling all the issues a developer needs to know while handling data in bulk with search relevancyLearn to create large-scale ElasticSearch clusters using best practicesLearn from our experts—written by Bharvi Dixit who has extensive experience in working with search servers (especially ElasticSearch)Who This Book Is ForAnyone who wants to build efficient search and analytics applications can choose this book. This book is also beneficial for skilled developers, especially ones experienced with Lucene or Solr, who now want to learn Elasticsearch quickly.What You Will LearnGet to know about advanced Elasticsearch concepts and its REST APIsWrite CRUD operations and other search functionalities using the ElasticSearch Python and Java clientsDig into wide range of queries and find out how to use them correctlyDesign schema and mappings with built-in and custom analyzersExcel in data modeling concepts and query optimizationMaster document relationships and geospatial dataBuild analytics using aggregationsSetup and scale Elasticsearch clusters using best practicesLearn to take data backups and secure Elasticsearch clustersIn DetailWith constantly evolving and growing datasets, organizations have the need to find actionable insights for their business. ElasticSearch, which is the world's most advanced search and analytics engine, brings the ability to make massive amounts of data usable in a matter of milliseconds. It not only gives you the power to build blazing fast search solutions over a massive amount of data, but can also serve as a NoSQL data store.This guide will take you on a tour to become a competent developer quickly with a solid knowledge level and understanding of the ElasticSearch core concepts. Starting from the beginning, this book will cover these core concepts, setting up ElasticSearch and various plugins, working with analyzers, and creating mappings. This book provides complete coverage of working with ElasticSearch using Python and performing CRUD operations and aggregation-based analytics, handling document relationships in the NoSQL world, working with geospatial data, and taking data backups. Finally, we’ll show you how to set up and scale ElasticSearch clusters in production environments as well as providing some best practices.Style and approachThis is an easy-to-follow guide with practical examples and clear explanations of the concepts. This fast-paced book believes in providing very rich content focusing majorly on practical implementation. This book will provide you with step-by-step practical examples, letting you know about the common errors and solutions along with ample screenshots and code to ensure your success.
目录展开

Elasticsearch Essentials

Table of Contents

Elasticsearch Essentials

Credits

About the Author

Acknowledgments

About the Reviewer

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

Downloading the color images of this book

Errata

Piracy

Questions

1. Getting Started with Elasticsearch

Introducing Elasticsearch

The primary features of Elasticsearch

Understanding REST and JSON

What is REST?

What is JSON?

Elasticsearch common terms

Understanding Elasticsearch structure with respect to relational databases

Installing and configuring Elasticsearch

Installing Elasticsearch on Ubuntu through Debian package

Installing Elasticsearch on Centos through the RPM package

Understanding the Elasticsearch installation directory layout

Configuring basic parameters

Adding another node to the cluster

Installing Elasticsearch plugins

Checking for installed plugins

Installing the Head plugin for Elasticsearch

Installing Sense for Elasticsearch

Basic operations with Elasticsearch

Creating an Index

Indexing a document in Elasticsearch

Fetching documents

Get a complete document

Getting part of a document

Updating documents

Updating a whole document

Updating documents partially

Deleting documents

Checking documents' existence

Summary

2. Understanding Document Analysis and Creating Mappings

Text search

TF-IDF

Inverted indexes

Document analysis

Introducing Lucene analyzers

Creating custom analyzers

Changing a default analyzer

Putting custom analyzers into action

Elasticsearch mapping

Document metadata fields

Data types and index analysis options

Configuring data types

String

Number

Date

Boolean

Arrays

Objects

Indexing the same field in different ways

Putting mappings in an index

Viewing mappings

Updating mappings

Summary

3. Putting Elasticsearch into Action

CRUD operations using elasticsearch-py

Setting up the environment

Installing Pip

Installing virtualenv

Installing elasticsearch-py

Performing CRUD operations

Request timeouts

Creating indexes with settings and mappings

Indexing documents

Retrieving documents

Updating documents

Replacing the value of a field completely

Appending a value in an array

Updates using doc

Checking document existence

Deleting a document

CRUD operations using Java

Connecting with Elasticsearch

Indexing a document

Fetching a document

Updating a document

Updating a document using doc

Updating a document using script

Deleting documents

Creating a search database

Elasticsearch Query-DSL

Understanding Query-DSL parameters

Query types

Full-text search queries

match_all

match query

Phrase search

multi match

query_string

Term-based search queries

Term query

Terms query

Range queries

Exists queries

Missing queries

Compound queries

Bool queries

Not queries

Search requests using Python

Search requests using Java

Parsing search responses

Sorting your data

Sorting documents by field values

Sorting on more than one field

Sorting multivalued fields

Sorting on string fields

Document routing

Summary

4. Aggregations for Analytics

Introducing the aggregation framework

Aggregation syntax

Extracting values

Returning only aggregation results

Metric aggregations

Computing basic stats

Combined stats

Computing stats separately

Computing extended stats

Finding distinct counts

Bucket aggregations

Terms aggregation

Range aggregation

Date range aggregation

Histogram aggregation

Date histogram aggregation

Filter-based aggregation

Combining search, buckets, and metrics

Memory pressure and implications

Summary

5. Data Looks Better on Maps: Master Geo-Spatiality

Introducing geo-spatial data

Working with geo-point data

Mapping geo-point fields

Indexing geo-point data

Querying geo-point data

Geo distance query

Geo distance range query

Geo bounding box query

Understanding bounding boxes

Sorting by distance

Geo-aggregations

Geo distance aggregation

Using bounding boxes with geo distance aggregation

Geo-shapes

Point

Linestring

Circles

Polygons

Envelops

Mappings geo-shape fields

Indexing geo-shape data

Querying geo-shape data

Summary

6. Document Relationships in NoSQL World

Relational data in the document-oriented NoSQL world

Managing relational data in Elasticsearch

Working with nested objects

Creating nested mappings

Indexing nested data

Querying nested type data

Nested aggregations

Nested aggregation

Understanding nested aggregation syntax:

Reverse nested aggregation

Parent-child relationships

Creating parent-child mappings

Indexing parent-child documents

Querying parent-child documents

has_child query

has_parent query

Considerations for using document relationships

Summary

7. Different Methods of Search and Bulk Operations

Introducing search types in Elasticsearch

Cheaper bulk operations

Bulk create

Bulk indexing

Bulk updating

Bulk deleting

Multi get and multi search APIs

Multi get

Multi searches

Data pagination

Pagination with scoring

Pagination without scoring

Scrolling and re-indexing documents using scan-scroll

Practical considerations for bulk processing

Summary

8. Controlling Relevancy

Introducing relevant searches

The Elasticsearch out-of-the-box tools

An example: why defaults are not enough

Controlling relevancy with custom scoring

The function_score query

weight

field_value_factor

script_score

Decay functions - linear, exp, and gauss

Summary

9. Cluster Scaling in Production Deployments

Node types in Elasticsearch

Client node

Data node

Master node

Introducing Zen-Discovery

Multicasting discovery

Unicasting discovery

Configuring unicasting discovery

Minimum number of master nodes: preventing split-brain

An initial list of hosts to ping

Ping timeout

Node upgrades without downtime

Upgrading Elasticsearch version

Best Elasticsearch practices in production

Creating a cluster

Scaling your clusters

When to scale

Metrics to watch

CPU utilization

Memory utilization

Disk I/O utilization

Disk low watermark

How to scale

Summary

10. Backups and Security

Introducing backup and restore mechanisms

Backup using snapshot API

Creating an NFS drive

Configuring the NFS host server

Configuring client machines

Creating a snapshot

Registering the repository path

Registering the shared file system repository in Elasticsearch

Create your first snapshot

Getting snapshot information

Deleting snapshots

Restoring snapshots

Restoring multiple indices

Renaming indices

Partial restore

Changing index settings during restore

Restoring to a different cluster

Manual backups

Manual restoration

Securing Elasticsearch

Setting up basic HTTP authentication

Setting up Nginx

Securing critical access

Restricting DELETE requests

Restricting endpoints

Load balancing using Nginx

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部