TA的每日心情 | 开心 12 小时前 |
---|
签到天数: 235 天 [LV.7]常住居民III
管理员
- 积分
- 8333
|
Java电子书:深入理解Elasticsearch(原书第2版) PDF 电子书 Java吧 java8.com
4 ]% }$ {! X- m: E6 f) B. s0 ]6 }* c u' f8 ?. J2 D1 I
作者:拉斐尔·酷奇出版社:机械工业出版社
$ `: u2 M. K' @: V ?. t* I' N2 H/ |) ~5 P# N5 C+ z4 R
编号:166-Java吧资源免费-X0180【Java吧 java8.com】
. d% ` v7 J" N9 u7 q/ Y. o- ]6 F# t! H) t7 ~' I7 t; g
" i8 x5 G4 x. @0 q
: b7 l* `" L# x! c& |
目录:
3 s h8 l5 [, f( ~5 G0 S3 r: a前言, p- M2 Z y. a
第1章 Elasticsearch简介1
8 J' ?( m1 K2 }( Y1.1 Apache Lucene简介1: h) K' |- x0 g ^0 d
1.1.1 熟悉Lucene2
* A' J. I" p" U* ^. N# {( I, ]1.1.2 Lucene的总体架构2; H9 Q3 U2 n$ o _, T/ h) Y. W# `6 d
1.1.3 分析数据4
, x. K+ h2 a" i1.1.4 Lucene查询语言5! ^. e6 v( g5 i) u
1.2 何为Elasticsearch8
4 E( x) Y9 j3 [4 |: S: {7 ~3 M1.2.1 Elasticsearch的基本概念8, g/ J8 O3 O) k) }5 z) j5 O
1.2.2 Elasticsearch架构背后的关键概念10+ m1 m) {; S) I2 V- b1 O
1.2.3 Elasticsearch的工作流程10& ?" g# z- J- O9 O9 f
1.3 在线书店示例14
( k0 r s+ m: h: }6 {1.4 小结17/ }( s2 ], _& L/ C% S. a
第2章 查询DSL进阶18
7 {! O5 H% j% L2.1 Apache Lucene默认评分公式解释18
0 \' A4 }/ c& M6 X! @" ]2.1.1 何时文档被匹配上19; n- _7 `# d6 l4 x$ Z
2.1.2 TF/IDF评分公式19
: h3 }9 M \& U4 A- d2.1.3 Elasticsearch如何看评分217 Y9 \1 a1 m2 U5 \3 ], \% {* x
2.1.4 一个例子218 r! |* h; e1 a m# S/ E+ V
2.2 查询改写24
& \8 {+ u( f1 R; U. a! n6 L1 B2.2.1 前缀查询示例24
; Q( K( x# k6 Z& U) l4 X1 D2.2.2 回到Apache Lucene26, E1 @6 i5 L( b" Y
2.2.3 查询改写的属性285 A) f& x& _& R8 v$ X/ ~- S
2.3 查询模板30
: n( F; L; f, d: k5 H4 d+ W, B2.3.1 引入查询模板315 N. n6 ^. s! j
2.3.2 Mustache模板引擎33
4 n- _# o* e( t g4 x# [3 b2.3.3 把查询模板保存到文件35
: F% F& ]$ l A. A! t9 v& @& A2.4 过滤器的使用及作用原理365 _+ n8 [! A" \+ F# I1 G
2.4.1 过滤及查询相关性36. j; }8 ]( v8 S/ @
2.4.2 过滤器的工作原理40; ^9 n( J; f/ l/ g; l' S2 Z# Z- T
2.4.3 性能考量41. j+ b9 G) U5 _
2.4.4 后置过滤和过滤查询422 {$ O# z2 _9 b- R# n! d
2.4.5 选择正确的过滤方式44
- G* L+ J2 K# b% \2 i9 A! y3 \: h+ |2.5 选择正确的查询方式45
( R+ z9 `, W3 p- ]: D4 I2.5.1 查询方式分类45
3 f0 l# ?5 P" ?3 l* P4 h. ?5 t2.5.2 使用示例500 K) i5 Q9 W. n) x% N/ [
2.6 小结65
: q0 W- a4 i. M第3章 不只是文本搜索66
/ w7 O) @* k) s, W* D3.1 查询二次评分66+ Z" m& k; J" J8 E8 U
3.1.1 什么是查询二次评分67/ O+ c2 K. l4 j/ o) l. Z
3.1.2 一个查询例子67
# A9 _/ ^: |! ?6 {$ X$ \, F3.1.3 二次评分查询的结构67
- @- V; y" Z4 n3.1.4 二次评分参数705 x7 w( I# C( M0 ]8 O7 H
3.1.5 总结708 p* [7 U1 K- |
3.2 多匹配控制71
5 C6 n. N3 q; [( E3.3 重要词项聚合78
7 y* h- Q2 m" ^; y3.3.1 一个例子79
/ M. W7 V. }$ c+ R3.3.2 选择重要词项81/ F4 |# M, K0 `2 F
3.3.3 多值分析81
* d& i9 ?" d/ ]9 b V5 O, \3.3.4 额外的配置84
: _* L, h, f4 @9 O& o- o8 A, J3.3.5 使用限制89, @: K9 T/ [9 c
3.4 文档分组89
% S1 s; ~2 h& |2 x7 ]9 l5 r" P* C3.4.1 top_hits聚合90
5 a' T# x& I* a' E$ E3.4.2 一个例子90( g: H6 P' M7 t1 t
3.5 文档关系95$ \1 b: ~! e C
3.5.1 对象类型95
8 z+ F9 k, F K+ C# W& ?, W1 X3.5.2 嵌套文档98
9 v) Y) U, P- [2 V R- A3.5.3 parent-child关系99% b, w6 X. J5 p: w( A$ D$ v
3.5.4 其他解决方案102
$ s# _) I$ z. R3.6 Elasticsearch各版本中脚本的变化102* c' N1 d7 Z6 M7 q- f/ F" }
3.6.1 脚本变迁102) y: T6 t7 v+ t+ j
3.6.2 Groovy简单介绍103
3 `+ t2 o0 Q/ b2 R, [3 U3.6.3 全文检索中的脚本1089 R' m$ u8 J8 V+ |* z+ V
3.6.4 Lucene表达式115
0 D3 {6 |1 \% h% l. ]3.7 小结118, O: P! v7 r+ @) B0 A: B
第4章 改善用户搜索体验119$ C% ], ?# H+ b: r( e
4.1 改正用户拼写错误119
0 ~" z* I, g) J& k2 c6 Y4.1.1 测试数据120/ x& E+ ]. b& M
4.1.2 深入技术细节1211 O. N' U' N0 o8 B
4.1.3 suggester121. K U& ?; [% ]3 E$ q9 J5 ~; b% _0 I1 ~
4.2 改善查询相关性142' N( R% d& I# a7 d* t
4.2.1 数据142
3 `) F" j) | {; Y1 m: n1 o2 i8 i4.2.2 改善相关性的探索之旅145
+ v& _5 Y F- g* K/ K6 F0 J# s4.3 小结157
8 M; L+ w. E9 ~& p2 n \第5章 分布式索引架构159/ V' v, b+ n, y/ x% w# o9 x
5.1 选择合适的分片和副本数159
/ j+ d) |' q0 `; D( K5.1.1 分片和过度分配1606 P |$ v4 O1 a* _
5.1.2 一个过度分配的正面例子161$ ?8 x7 ?, I1 ]
5.1.3 多分片与多索引161
( S3 z' }# E. E T' i5.1.4 副本161# q2 B! l5 D1 h2 l: ~. H1 g* _
5.2 路由162) \( M3 W$ ~/ Y. L
5.2.1 分片和数据1622 R# Q6 V# K# n! l; a9 k' S
5.2.2 测试路由功能162- n3 G z' s Y4 w/ Y
5.2.3 索引时使用路由1663 D1 h, V+ y( `7 m6 s$ f2 @- e I
5.2.4 别名1690 o: y+ h/ Q1 W4 @
5.2.5 多个路由值169! q6 s$ }! B4 q) S6 B% n G+ }" G- D
5.3 调整默认分片的分配行为170
8 p" Z$ l- @/ w# s# A7 z7 Z5.3.1 部署意识171) [+ L1 f# m: }5 J) f i5 B
5.3.2 过滤173% T: [2 x' l, }/ r. w5 ~. s
5.3.3 运行时更新分配策略174
+ X+ Q" y( Y, Z/ Y. ?4 L5.3.4 确定每个节点允许的总分片数1755 B/ f+ Y x0 c# e
5.3.5 确定每个物理机器允许的总分片数1759 J9 I8 j6 s7 z0 g0 W
5.4 查询执行偏好179
2 ^* t; ] G- ]: R4 d2 @! {5.5 小结181, j7 p' Y' A# o2 C2 q
第6章 底层索引控制182
5 t7 b! P/ Q" c; u8 K6.1 改变Apache Lucene的评分方式1827 }0 F# ~( X: Q
6.1.1 可用的相似度模型183
4 e+ L0 z& x. N Y0 L6.1.2 为每字段配置相似度模型183. M+ [4 ^' O7 U3 g. C
6.1.3 相似度模型配置184
. c2 z$ [6 o; X3 S) p+ `! ]6.1.4 选择默认的相似度模型185: \/ ]; Z' C* w1 G
6.2 选择适当的目录实现—store模块188
6 r$ j" C' N( S9 {6.3 准实时、提交、更新及事务日志191
: Q k( b7 L/ z0 d, Q. B+ P6.3.1 索引更新及更新提交192+ B+ ]( P/ ?8 V3 r$ U
6.3.2 事务日志193 `' r1 @4 v$ y7 N
6.3.3 准实时读取1941 T$ E" {$ [+ {1 B* G1 v2 q
6.4 控制索引合并195+ n6 N% N% ~# B! ~" z1 b
6.4.1 选择正确的合并策略1969 a5 H" M W$ D, N/ {5 W+ o
6.4.2 合并策略配置197
* [& B' i( g, ^$ A# D, l6.4.3 调度1995 J# S3 B& e0 ^9 v) [* a
6.5 关于I/O调节2002 j" Z7 Z: J# u& g
6.5.1 控制I/O节流200
" _2 T+ a6 M: m6.5.2 配置200
, r+ s4 v" T7 U' g; d6.6 理解Elasticsearch缓存2023 K- t6 m' ^0 C) i8 d# {6 i
6.6.1 过滤器缓存203
W1 V# q' W& c5 O& i" G5 C: g7 Y6.6.2 字段数据缓存204
0 h' H* Y% b- X) l F/ Q/ h6.6.3 查询分片缓存212
, u- n0 N- x: J8 i, w3 K( ]' s6.6.4 使用circuit breaker213; K$ z1 r2 t7 B y
6.6.5 清除缓存214( q) d4 e& q9 _& ~3 G
6.7 小结215
- j& v: g4 l! m* W/ t第7章 管理Elasticsearch216
h2 ]+ b5 Q# m7 ]' E7.1 发现和恢复模块2164 d; m2 H' I8 J1 o: t
7.1.1 发现模块的配置217
6 h" C' c4 u- H! W! o/ z7.1.2 主节点2188 L: Z/ N& G/ o# g- \
7.1.3 网关和恢复模块的配置2239 _$ n+ q2 Z* o! f
7.1.4 索引恢复API226: x( S) C9 m/ n' \
7.2 使用人类友好的Cat API 229
J5 Z& X+ ^4 t& z7.2.1 基础知识230- s% A8 K2 x4 H: o& {9 y+ ~
7.2.2 使用Cat API2314 @ l$ |9 Q# ?
7.2.3 一些例子232
: U& d2 n8 _1 G/ ^$ s7.3 备份232& v4 ?7 P5 r: v. G: l
7.4 联盟搜索236# ]0 `+ s4 J8 U
7.4.1 测试用的集群236
% }, C6 F t3 M1 `9 S7.4.2 建立部落节点237, O6 ]3 u. ]. s) @/ Q1 Q( j1 @
7.4.3 通过部落节点读取数据238 l0 q E3 v& n: U$ `& B
7.4.4 通过部落节点写入数据239
/ j3 U3 A) S6 W3 L. m% o; s7.4.5 处理索引冲突2404 n. c& U7 Q% p n- Q' S
7.4.6 屏蔽写操作2418 R$ ^' T: N6 L0 u
7.5 小结242* F' ]5 G+ w. i: n, |
第8章 提高性能243
: |9 e- ^9 r+ f8.1 使用doc values来优化查询243
* f$ h6 z! H( f3 V8.1.1 字段缓存存在的问题244 n: ?4 N1 r; d' E. D. z
8.1.2 使用doc values的例子245% X2 F; G( ?8 _+ N
8.2 了解垃圾回收器247
9 ]! d% i- L+ V( }$ S8.2.1 Java内存248
: g9 w0 ^8 ~) V7 @8.2.2 解决垃圾回收问题249
# O' O$ e3 @$ e' P8.2.3 在类UNIX系统上避免内存交换254
/ x9 C' D8 Y' R8.3 对查询做基准测试2557 @9 ~: ~+ d7 |# Z8 E+ g- n
8.3.1 为基准测试配置集群256
( @6 d: \; u$ H$ `/ Y$ p2 U8.3.2 进行基准测试256
7 b; T+ b2 ^7 ^! e0 |/ B, A8.3.3 控制运行中的基准测试259' w& f6 W2 V5 }- A: L
8.4 热点线程261( D, {7 N7 R8 X( ^ k) A
8.4.1 热点线程的使用说明261# g' x+ V Z4 h7 A4 ~- m
8.4.2 热点线程API的响应262
) _% F. {" |# W' H. C P" n8.5 扩展Elasticsearch263
5 O$ Z9 a+ F/ @- M1 @% S* y; t8.5.1 垂直扩展263
0 R4 r- o$ O1 M- N: f& V8.5.2 水平扩展264
0 _- W& R r8 D! g& |1 l8.5.3 在高负载的场景下使用Elasticsearch271, M8 U( X H- V9 q
8.6 小结283 java8.com
# g# u# b" }3 H+ m, W第9章 开发Elasticsearch插件284
3 D# F; a2 n; x2 E% v5 I5 W9.1 创建Maven项目284
- x$ |! c5 [- ~5 _( ]5 s' b9.2 了解基本知识285) ]0 W1 \2 b( V; Z; }( H
9.2.1 Maven Java项目的结构2854 j1 H r, G- T; P2 P
9.2.2 POM的理念2858 J8 A: r7 w. [9 O
9.2.3 执行构建过程286
; n+ Q$ P. ?3 W' T7 e8 E" V9.2.4 引入Maven装配插件287( n% v ^; S5 O% S) E# a4 F
9.3 创建自定义REST行为289
" L ^" M8 Y# d* V! g% v5 h9 E7 `9.3.1 设定289+ K+ K h3 k, J0 O. b& c
9.3.2 实现细节289
( N! K4 k) l" P* o4 P9 Y: {, K3 s9.4 创建自定义分析插件295+ w2 }' ~" x. F2 f9 H
9.4.1 实现细节295
# z) s* r4 }, N9.4.2 测试自定义分析插件302
# @9 i! ^# l+ K! x7 P9 c9.5 小结304- o% ]) E: W3 Y6 `, k
百度云盘下载地址(完全免费-绝无套路):
9 q5 U" y9 V4 Z# @1 j6 Z* k( r% e/ j: m
# }/ e2 W6 Y& a8 Z8 t2 I% o' p, Q$ J# r. \3 K+ s9 Q/ z& Y
5 R0 x9 N5 Q Q, O4 V3 t
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|