c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
1
|
## Elasticsearch 排查流程
|
1681a135
tangwang
image_embeddin si...
|
2
|
|
f27a8d90
tangwang
ES文档维护
|
3
4
5
6
7
8
9
10
|
使用前加载环境变量:
```bash
set -a; source .env; set +a
# 或直接 export
export ES_AUTH="saas:4hOaLaf41y2VuI8y"
export ES="http://127.0.0.1:9200"
```
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
11
12
13
14
|
### 1. 集群健康状态
```bash
# 集群整体健康(green / yellow / red)
|
f27a8d90
tangwang
ES文档维护
|
15
|
curl -s -u "$ES_AUTH" 'http://127.0.0.1:9200/_cluster/health?pretty'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
16
17
18
19
20
21
|
```
### 2. 索引概览
```bash
# 查看所有租户索引状态与体积
|
f27a8d90
tangwang
ES文档维护
|
22
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/_cat/indices/search_products_tenant_*?v'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
23
24
|
# 或查看全部索引
|
f27a8d90
tangwang
ES文档维护
|
25
|
curl -s -u "$ES_AUTH" 'http://127.0.0.1:9200/_cat/indices?v'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
26
27
28
29
30
31
|
```
### 3. 分片分布
```bash
# 查看分片在各节点的分布情况
|
f27a8d90
tangwang
ES文档维护
|
32
|
curl -s -u "$ES_AUTH" 'http://127.0.0.1:9200/_cat/shards?v'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
33
34
35
36
37
38
|
```
### 4. 分配诊断(如有异常)
```bash
# 当 health 非 green 或 shards 状态异常时,定位具体原因
|
f27a8d90
tangwang
ES文档维护
|
39
|
curl -s -u "$ES_AUTH" -X POST 'http://127.0.0.1:9200/_cluster/allocation/explain?pretty' \
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
-H 'Content-Type: application/json' \
-d '{"index":"search_products_tenant_163","shard":0,"primary":true}'
```
> 典型结论示例:`disk_threshold` — 磁盘超过高水位,新分片禁止分配。
### 5. 系统层检查
```bash
# 服务状态
sudo systemctl status elasticsearch
# 磁盘空间
df -h
# ES 数据目录占用
du -sh /var/lib/elasticsearch/
```
### 6. 配置与日志
```bash
# 配置文件
cat /etc/elasticsearch/elasticsearch.yml
# 实时日志
journalctl -u elasticsearch -f
```
|
1fdab52d
tangwang
This change adjus...
|
69
70
71
72
73
74
75
76
77
|
### 7. 修改索引级设置(如 BM25 `similarity.default`)
`mappings/search_products.json` 里的 `settings.similarity` 只在**创建新索引**时生效;**已有索引**需先关闭索引,再 `PUT _settings`,最后重新打开。
**适用场景**:调整默认 BM25 的 `b`、`k1`(例如与仓库映射对齐:`b: 0.1`、`k1: 0.3`)。
```bash
# 按需替换:索引名、账号密码、ES 地址
INDEX="search_products_tenant_163"
|
f27a8d90
tangwang
ES文档维护
|
78
|
AUTH="$ES_AUTH"
|
1fdab52d
tangwang
This change adjus...
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
ES="http://localhost:9200"
# 1) 关闭索引(写入类请求会失败,注意维护窗口)
curl -s -u "$AUTH" -X POST "$ES/${INDEX}/_close"
# 2) 更新设置(仅示例:与 mappings 中 default 一致时可照抄)
curl -s -u "$AUTH" -X PUT "$ES/${INDEX}/_settings" \
-H 'Content-Type: application/json' \
-d '{
"index": {
"similarity": {
"default": {
"type": "BM25",
"b": 0.1,
"k1": 0.3
}
}
}
}'
# 3) 重新打开索引
curl -s -u "$AUTH" -X POST "$ES/${INDEX}/_open"
```
**检查是否生效**:
```bash
curl -s -u "$AUTH" -X GET "$ES/${INDEX}/_settings?filter_path=**.similarity&pretty"
```
期望在响应中看到 `similarity.default` 的 `type`、`b`、`k1`(API 可能将数值以字符串形式返回,属正常)。
**多租户批量**:先列出索引,再对每个 `search_products_tenant_*` 重复上述 close → settings → open。
```bash
curl -s -u "$AUTH" -X GET "$ES/_cat/indices/search_products_tenant_*?h=index&v"
```
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
---
### 快速排查路径
```
_cluster/health → 确认集群状态(green/yellow/red)
↓
_cat/indices → 检查索引体积与状态
↓
_cat/shards → 查看分片分布
↓
_cluster/allocation/explain → 定位分配问题(如需要)
↓
systemctl / df / 日志 → 系统层验证
```
---
以下是将您提供的 Elasticsearch 查询整理为 Markdown 格式的文档:
---
# Elasticsearch 查询集合
## 租户相关
> **说明**:索引已按租户拆分为 `search_products_tenant_{tenant_id}`,一般情况下不需要在查询中再按 `tenant_id` 过滤(可选保留用于排查)。
---
|
5ac64fc7
tangwang
多语言查询
|
145
146
|
### 1. 根据 tenant_id / spu_id 查询
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
147
148
149
|
#### 查询指定 spu_id 的商品(返回 title)
```bash
|
f27a8d90
tangwang
ES文档维护
|
150
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
472cca0c
tangwang
doc
|
151
|
"size": 11,
|
80f87e57
tangwang
多语言索引修改 对应的 索引创建、...
|
152
|
"_source": ["title"],
|
472cca0c
tangwang
doc
|
153
|
"query": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
154
155
156
157
158
|
"bool": {
"filter": [
{ "term": {"spu_id" : 206150} }
]
}
|
472cca0c
tangwang
doc
|
159
|
}
|
89638140
tangwang
重构 indexer 文档构建接口...
|
160
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
161
|
```
|
c4263d93
tangwang
支持 sku_filter_dim...
|
162
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
163
164
|
#### 查询所有商品(返回 title)
```bash
|
f27a8d90
tangwang
ES文档维护
|
165
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
166
167
168
169
|
"size": 100,
"_source": ["title"],
"query": {
"match_all": {}
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
170
|
}
|
89638140
tangwang
重构 indexer 文档构建接口...
|
171
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
172
|
```
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
173
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
174
175
|
#### 查询指定 spu_id 的商品(返回 title、keywords、tags)
```bash
|
f27a8d90
tangwang
ES文档维护
|
176
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
177
178
179
180
181
182
183
|
"size": 5,
"_source": ["title", "keywords", "tags"],
"query": {
"bool": {
"filter": [
{ "term": { "spu_id": "223167" } }
]
|
89638140
tangwang
重构 indexer 文档构建接口...
|
184
|
}
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
185
|
}
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
186
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
187
|
```
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
188
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
189
190
|
#### 组合查询:匹配标题 + 过滤标签
```bash
|
f27a8d90
tangwang
ES文档维护
|
191
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
"size": 1,
"_source": ["title", "keywords", "tags"],
"query": {
"bool": {
"must": [
{
"match": {
"title.en": {
"query": "Floerns Women Gothic Graphic Ribbed Strapless Tube Top Asymmetrical Ruched Bandeau Tops"
}
}
}
],
"filter": [
{ "terms": { "tags": ["女装", "派对"] } }
]
}
}
}'
```
|
985d7fe3
tangwang
为 filters 中所有字段加上...
|
212
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
213
214
|
#### 组合查询:匹配标题 + 过滤租户(冗余示例)
```bash
|
f27a8d90
tangwang
ES文档维护
|
215
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
5ac64fc7
tangwang
多语言查询
|
216
|
"size": 1,
|
d7d48f52
tangwang
改动(mapping + 灌入结构)
|
217
|
"_source": ["title"],
|
5ac64fc7
tangwang
多语言查询
|
218
|
"query": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
"bool": {
"must": [
{
"match": {
"title.en": {
"query": "Floerns Women Gothic Graphic Ribbed Strapless Tube Top Asymmetrical Ruched Bandeau Tops"
}
}
}
],
"filter": [
{ "term": { "tenant_id": "170" } }
]
}
|
5ac64fc7
tangwang
多语言查询
|
233
234
|
}
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
235
|
```
|
5ac64fc7
tangwang
多语言查询
|
236
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
237
238
239
|
---
### 2. 分析器测试
|
5ac64fc7
tangwang
多语言查询
|
240
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
241
242
|
#### 测试 index_ik 分析器
```bash
|
f27a8d90
tangwang
ES文档维护
|
243
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_analyze' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
244
245
|
"analyzer": "index_ik",
"text": "14寸第4代-眼珠实身冰雪公仔带手动大推车,搪胶雪宝宝"
|
5ac64fc7
tangwang
多语言查询
|
246
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
247
|
```
|
5ac64fc7
tangwang
多语言查询
|
248
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
249
250
|
#### 测试 query_ik 分析器
```bash
|
f27a8d90
tangwang
ES文档维护
|
251
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_analyze' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
252
253
|
"analyzer": "query_ik",
"text": "14寸第4代-眼珠实身冰雪公仔带手动大推车,搪胶雪宝宝"
|
5ac64fc7
tangwang
多语言查询
|
254
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
255
|
```
|
5ac64fc7
tangwang
多语言查询
|
256
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
257
258
259
260
261
262
|
---
### 3. 多字段搜索 + 聚合(综合分面示例)
#### 多字段匹配 + 聚合(category1、color、size、material)
```bash
|
f27a8d90
tangwang
ES文档维护
|
263
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
|
"size": 1,
"from": 0,
"query": {
"bool": {
"must": [
{
"multi_match": {
"_name": "base_query",
"fields": [
"title.zh^3.0",
"brief.zh^1.5",
"description.zh",
"vendor.zh^1.5",
"tags",
"category_path.zh^1.5",
"category_name_text.zh^1.5",
"option1_values^0.5"
],
"minimum_should_match": "75%",
"operator": "AND",
"query": "裙",
"tie_breaker": 0.9
}
}
|
5ac64fc7
tangwang
多语言查询
|
288
|
],
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
289
290
291
|
"filter": [
{ "match_all": {} }
]
|
5ac64fc7
tangwang
多语言查询
|
292
|
}
|
5ac64fc7
tangwang
多语言查询
|
293
|
},
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
294
295
296
297
298
299
|
"aggs": {
"category1_name_facet": {
"terms": {
"field": "category1_name",
"size": 15,
"order": { "_count": "desc" }
|
5ac64fc7
tangwang
多语言查询
|
300
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
|
},
"specifications_color_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filter_by_name": {
"filter": { "term": { "specifications.name": "color" } },
"aggs": {
"value_counts": {
"terms": {
"field": "specifications.value",
"size": 20,
"order": { "_count": "desc" }
}
}
}
|
5ac64fc7
tangwang
多语言查询
|
316
|
}
|
5ac64fc7
tangwang
多语言查询
|
317
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
},
"specifications_size_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filter_by_name": {
"filter": { "term": { "specifications.name": "size" } },
"aggs": {
"value_counts": {
"terms": {
"field": "specifications.value",
"size": 15,
"order": { "_count": "desc" }
}
}
}
|
5ac64fc7
tangwang
多语言查询
|
333
|
}
|
5ac64fc7
tangwang
多语言查询
|
334
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
|
},
"specifications_material_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filter_by_name": {
"filter": { "term": { "specifications.name": "material" } },
"aggs": {
"value_counts": {
"terms": {
"field": "specifications.value",
"size": 10,
"order": { "_count": "desc" }
}
}
}
|
5ac64fc7
tangwang
多语言查询
|
350
|
}
|
5ac64fc7
tangwang
多语言查询
|
351
|
}
|
5ac64fc7
tangwang
多语言查询
|
352
|
}
|
5ac64fc7
tangwang
多语言查询
|
353
|
}
|
5ac64fc7
tangwang
多语言查询
|
354
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
355
356
357
358
359
|
```
---
### 4. 通用查询(通用索引示例)
|
5ac64fc7
tangwang
多语言查询
|
360
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
361
362
|
#### 查询所有
```bash
|
89638140
tangwang
重构 indexer 文档构建接口...
|
363
|
GET /search_products_tenant_2/_search
|
5ac64fc7
tangwang
多语言查询
|
364
|
{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
365
366
367
|
"query": {
"match_all": {}
}
|
5ac64fc7
tangwang
多语言查询
|
368
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
369
|
```
|
c4263d93
tangwang
支持 sku_filter_dim...
|
370
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
371
372
|
#### 按 spu_id 查询(通用索引)
```bash
|
f27a8d90
tangwang
ES文档维护
|
373
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c4263d93
tangwang
支持 sku_filter_dim...
|
374
375
|
"size": 5,
"query": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
376
377
378
379
380
|
"bool": {
"filter": [
{ "term": { "spu_id": "74123" } }
]
}
|
c4263d93
tangwang
支持 sku_filter_dim...
|
381
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
382
383
384
385
|
}'
```
---
|
c4263d93
tangwang
支持 sku_filter_dim...
|
386
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
387
|
### 5. 统计租户总文档数
|
c4263d93
tangwang
支持 sku_filter_dim...
|
388
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
389
|
```bash
|
f27a8d90
tangwang
ES文档维护
|
390
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_170/_count?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
391
392
393
|
"query": {
"match_all": {}
}
|
5ac64fc7
tangwang
多语言查询
|
394
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
395
|
```
|
5ac64fc7
tangwang
多语言查询
|
396
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
397
|
---
|
5ac64fc7
tangwang
多语言查询
|
398
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
399
|
## 分面数据诊断相关查询
|
33839b37
tangwang
属性值参与搜索:
|
400
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
401
|
### 1. 检查 ES 文档的分面字段数据
|
33839b37
tangwang
属性值参与搜索:
|
402
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
403
404
|
#### 1.1 查询特定租户的商品,显示分面相关字段
```bash
|
f27a8d90
tangwang
ES文档维护
|
405
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
406
407
408
409
410
411
412
413
414
|
"query": {
"term": { "tenant_id": "162" }
},
"size": 1,
"_source": [
"spu_id", "title", "category1_name", "category2_name",
"category3_name", "specifications", "option1_name",
"option2_name", "option3_name"
]
|
33839b37
tangwang
属性值参与搜索:
|
415
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
416
|
```
|
33839b37
tangwang
属性值参与搜索:
|
417
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
418
419
|
#### 1.2 验证 category1_name 字段是否有数据
```bash
|
f27a8d90
tangwang
ES文档维护
|
420
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
421
422
423
424
425
426
427
428
429
|
"query": {
"bool": {
"filter": [
{ "term": { "tenant_id": "162" } },
{ "exists": { "field": "category1_name" } }
]
}
},
"size": 0
|
33839b37
tangwang
属性值参与搜索:
|
430
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
431
|
```
|
33839b37
tangwang
属性值参与搜索:
|
432
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
433
434
|
#### 1.3 验证 specifications 字段是否有数据
```bash
|
f27a8d90
tangwang
ES文档维护
|
435
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
436
437
438
439
440
441
442
443
444
|
"query": {
"bool": {
"filter": [
{ "term": { "tenant_id": "162" } },
{ "exists": { "field": "specifications" } }
]
}
},
"size": 0
|
33839b37
tangwang
属性值参与搜索:
|
445
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
446
|
```
|
33839b37
tangwang
属性值参与搜索:
|
447
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
448
|
---
|
33839b37
tangwang
属性值参与搜索:
|
449
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
450
451
452
453
|
### 2. 分面聚合查询(Facet Aggregations)
#### 2.1 category1_name 分面聚合
```bash
|
f27a8d90
tangwang
ES文档维护
|
454
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
455
456
457
458
459
460
|
"query": { "match_all": {} },
"size": 0,
"aggs": {
"category1_name_facet": {
"terms": { "field": "category1_name", "size": 50 }
}
|
33839b37
tangwang
属性值参与搜索:
|
461
|
}
|
33839b37
tangwang
属性值参与搜索:
|
462
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
463
|
```
|
33839b37
tangwang
属性值参与搜索:
|
464
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
465
466
|
#### 2.2 specifications.color 分面聚合
```bash
|
f27a8d90
tangwang
ES文档维护
|
467
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
468
469
470
471
472
473
474
475
476
477
478
479
|
"query": { "match_all": {} },
"size": 0,
"aggs": {
"specifications_color_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "color" } },
"aggs": {
"values": { "terms": { "field": "specifications.value", "size": 50 } }
}
}
|
33839b37
tangwang
属性值参与搜索:
|
480
|
}
|
33839b37
tangwang
属性值参与搜索:
|
481
|
}
|
33839b37
tangwang
属性值参与搜索:
|
482
|
}
|
33839b37
tangwang
属性值参与搜索:
|
483
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
484
|
```
|
33839b37
tangwang
属性值参与搜索:
|
485
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
486
487
|
#### 2.3 specifications.size 分面聚合
```bash
|
f27a8d90
tangwang
ES文档维护
|
488
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
489
490
491
492
493
494
495
496
497
498
499
500
|
"query": { "match_all": {} },
"size": 0,
"aggs": {
"specifications_size_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "size" } },
"aggs": {
"values": { "terms": { "field": "specifications.value", "size": 50 } }
}
}
|
33839b37
tangwang
属性值参与搜索:
|
501
|
}
|
33839b37
tangwang
属性值参与搜索:
|
502
|
}
|
33839b37
tangwang
属性值参与搜索:
|
503
|
}
|
33839b37
tangwang
属性值参与搜索:
|
504
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
505
|
```
|
33839b37
tangwang
属性值参与搜索:
|
506
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
507
508
|
#### 2.4 specifications.material 分面聚合
```bash
|
f27a8d90
tangwang
ES文档维护
|
509
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
510
511
512
513
514
515
516
517
518
519
520
521
|
"query": { "match_all": {} },
"size": 0,
"aggs": {
"specifications_material_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "material" } },
"aggs": {
"values": { "terms": { "field": "specifications.value", "size": 50 } }
}
}
|
33839b37
tangwang
属性值参与搜索:
|
522
|
}
|
33839b37
tangwang
属性值参与搜索:
|
523
|
}
|
33839b37
tangwang
属性值参与搜索:
|
524
|
}
|
33839b37
tangwang
属性值参与搜索:
|
525
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
526
|
```
|
33839b37
tangwang
属性值参与搜索:
|
527
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
528
529
|
#### 2.5 综合分面聚合(category + color + size + material)
```bash
|
f27a8d90
tangwang
ES文档维护
|
530
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
531
532
533
534
535
536
537
538
539
540
541
|
"query": { "match_all": {} },
"size": 0,
"aggs": {
"category1_name_facet": { "terms": { "field": "category1_name", "size": 50 } },
"specifications_color_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "color" } },
"aggs": { "values": { "terms": { "field": "specifications.value", "size": 50 } } }
}
|
33839b37
tangwang
属性值参与搜索:
|
542
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
543
544
545
546
547
548
549
550
|
},
"specifications_size_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "size" } },
"aggs": { "values": { "terms": { "field": "specifications.value", "size": 50 } } }
}
|
33839b37
tangwang
属性值参与搜索:
|
551
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
552
553
554
555
556
557
558
559
|
},
"specifications_material_facet": {
"nested": { "path": "specifications" },
"aggs": {
"filtered": {
"filter": { "term": { "specifications.name": "material" } },
"aggs": { "values": { "terms": { "field": "specifications.value", "size": 50 } } }
}
|
33839b37
tangwang
属性值参与搜索:
|
560
|
}
|
33839b37
tangwang
属性值参与搜索:
|
561
|
}
|
33839b37
tangwang
属性值参与搜索:
|
562
|
}
|
33839b37
tangwang
属性值参与搜索:
|
563
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
564
565
566
|
```
---
|
33839b37
tangwang
属性值参与搜索:
|
567
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
568
|
### 3. 检查 specifications 嵌套字段的详细结构
|
33839b37
tangwang
属性值参与搜索:
|
569
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
570
571
|
#### 3.1 查看 specifications 的 name 字段有哪些值
```bash
|
f27a8d90
tangwang
ES文档维护
|
572
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
573
574
575
576
577
578
579
580
|
"query": { "term": { "tenant_id": "162" } },
"size": 0,
"aggs": {
"specifications_names": {
"nested": { "path": "specifications" },
"aggs": {
"name_values": { "terms": { "field": "specifications.name", "size": 20 } }
}
|
33839b37
tangwang
属性值参与搜索:
|
581
|
}
|
33839b37
tangwang
属性值参与搜索:
|
582
|
}
|
33839b37
tangwang
属性值参与搜索:
|
583
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
584
|
```
|
33839b37
tangwang
属性值参与搜索:
|
585
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
586
587
|
#### 3.2 查看某个商品的完整 specifications 数据
```bash
|
f27a8d90
tangwang
ES文档维护
|
588
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
589
590
591
592
593
594
595
596
597
598
|
"query": {
"bool": {
"filter": [
{ "term": { "tenant_id": "162" } },
{ "exists": { "field": "specifications" } }
]
}
},
"size": 1,
"_source": ["spu_id", "title", "specifications"]
|
33839b37
tangwang
属性值参与搜索:
|
599
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
600
|
```
|
33839b37
tangwang
属性值参与搜索:
|
601
|
|
ccbdf870
tangwang
enriched_attribut...
|
602
603
604
605
606
607
608
|
#### 3.3 `enriched_attributes`:`.value.zh` / `.value.en` 的 keyword 精确匹配与 text 全文匹配
> `enriched_attributes` 为 **nested**,检索需包在 `nested` 里。`.keyword` 子字段带 `lowercase` normalizer,英文词建议用小写做 `term`。
**keyword 精确匹配**(示例词:中文 `法式风格`,英文 `long skirt`)
```bash
|
f27a8d90
tangwang
ES文档维护
|
609
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
|
"size": 1,
"_source": ["spu_id", "title", "enriched_attributes"],
"query": {
"nested": {
"path": "enriched_attributes",
"query": {
"bool": {
"should": [
{ "term": { "enriched_attributes.value.zh.keyword": "法式风格" } },
{ "term": { "enriched_attributes.value.en.keyword": "long skirt" } }
],
"minimum_should_match": 2
}
}
}
}
}'
```
**text 全文匹配**(经 `index_ik` / `english` 分词;可与上式对照)
```bash
|
f27a8d90
tangwang
ES文档维护
|
632
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
|
"size": 1,
"_source": ["spu_id", "title", "enriched_attributes"],
"query": {
"nested": {
"path": "enriched_attributes",
"query": {
"bool": {
"should": [
{ "match": { "enriched_attributes.value.zh": "法式风格" } },
{ "match": { "enriched_attributes.value.en": "long skirt" } }
],
"minimum_should_match": 2
}
}
}
}
}'
```
若需要 **拼写容错**,可在 `match` 上增加 `"fuzziness": "AUTO"`(对英文更常见)。
#### 3.4 `option1_values`:keyword 与 text 分别查 `蓝色` / `blue`
**keyword 精确匹配**
```bash
|
f27a8d90
tangwang
ES文档维护
|
659
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
|
"size": 1,
"_source": ["spu_id", "title", "option1_values"],
"query": {
"bool": {
"should": [
{ "term": { "option1_values.zh.keyword": "蓝色" } },
{ "term": { "option1_values.en.keyword": "blue" } }
],
"minimum_should_match": 2
}
}
}'
```
**text 全文匹配**
```bash
|
f27a8d90
tangwang
ES文档维护
|
677
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
|
"size": 1,
"_source": ["spu_id", "title", "option1_values"],
"query": {
"bool": {
"should": [
{ "match": { "option1_values.zh": "蓝色" } },
{ "match": { "option1_values.en": "blue" } }
],
"minimum_should_match": 2
}
}
}'
```
#### 3.5 `enriched_tags.zh` / `enriched_tags.en`:keyword 与 text(`高腰` / `high waist`)
**keyword 精确匹配**
```bash
|
f27a8d90
tangwang
ES文档维护
|
697
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
|
"size": 1,
"_source": ["spu_id", "title", "enriched_tags"],
"query": {
"bool": {
"should": [
{ "term": { "enriched_tags.zh.keyword": "高腰" } },
{ "term": { "enriched_tags.en.keyword": "high waist" } }
],
"minimum_should_match": 2
}
}
}'
```
**text 全文匹配**
```bash
|
f27a8d90
tangwang
ES文档维护
|
715
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
|
"size": 1,
"_source": ["spu_id", "title", "enriched_tags"],
"query": {
"bool": {
"should": [
{ "match": { "enriched_tags.zh": "高腰" } },
{ "match": { "enriched_tags.en": "high waist" } }
],
"minimum_should_match": 2
}
}
}'
```
#### 3.6 `specifications`:`value_keyword` 与 `value_text.zh` / `value_text.en`(`蓝色` / `blue`)
> `specifications` 为 **nested**,`value_keyword` 为整词匹配;`value_text.*` 可同时 `term` 子字段或 `match` 主 text。
```bash
|
f27a8d90
tangwang
ES文档维护
|
735
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
ccbdf870
tangwang
enriched_attribut...
|
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
|
"size": 1,
"_source": ["spu_id", "title", "specifications"],
"query": {
"nested": {
"path": "specifications",
"query": {
"bool": {
"should": [
{ "term": { "specifications.value_keyword": "蓝色" } },
{ "term": { "specifications.value_keyword": "blue" } },
{ "term": { "specifications.value_text.zh.keyword": "蓝色" } },
{ "term": { "specifications.value_text.en.keyword": "blue" } },
{ "match": { "specifications.value_text.zh": "蓝色" } },
{ "match": { "specifications.value_text.en": "blue" } }
],
"minimum_should_match": 5
}
}
}
}
}'
```
仅查 **keyword 类**(`value_keyword` + `value_text.*.keyword`)时可从上面 `should` 里删掉两条 `match`;仅 **全文** 时可只保留两条 `match`。
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
761
|
---
|
33839b37
tangwang
属性值参与搜索:
|
762
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
763
764
765
766
|
### 4. 统计查询
#### 4.1 统计有 category1_name 的文档数量
```bash
|
f27a8d90
tangwang
ES文档维护
|
767
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_count?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
768
769
770
771
772
773
|
"query": {
"bool": {
"filter": [
{ "exists": { "field": "category1_name" } }
]
}
|
33839b37
tangwang
属性值参与搜索:
|
774
|
}
|
33839b37
tangwang
属性值参与搜索:
|
775
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
776
|
```
|
33839b37
tangwang
属性值参与搜索:
|
777
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
778
779
|
#### 4.2 统计有 specifications 的文档数量
```bash
|
f27a8d90
tangwang
ES文档维护
|
780
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_count?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
781
782
783
784
785
786
|
"query": {
"bool": {
"filter": [
{ "exists": { "field": "specifications" } }
]
}
|
33839b37
tangwang
属性值参与搜索:
|
787
|
}
|
33839b37
tangwang
属性值参与搜索:
|
788
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
789
|
```
|
33839b37
tangwang
属性值参与搜索:
|
790
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
791
|
---
|
33839b37
tangwang
属性值参与搜索:
|
792
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
793
|
### 5. 诊断问题场景
|
33839b37
tangwang
属性值参与搜索:
|
794
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
795
796
|
#### 5.1 查找没有 category1_name 但有 category 的文档(MySQL 有数据但 ES 没有)
```bash
|
f27a8d90
tangwang
ES文档维护
|
797
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
798
799
800
801
802
803
804
805
806
807
808
809
|
"query": {
"bool": {
"filter": [
{ "term": { "tenant_id": "162" } }
],
"must_not": [
{ "exists": { "field": "category1_name" } }
]
}
},
"size": 10,
"_source": ["spu_id", "title", "category_name_text", "category_path"]
|
33839b37
tangwang
属性值参与搜索:
|
810
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
811
|
```
|
33839b37
tangwang
属性值参与搜索:
|
812
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
813
814
|
#### 5.2 查找有 option 但没有 specifications 的文档(数据转换问题)
```bash
|
f27a8d90
tangwang
ES文档维护
|
815
|
curl -u "$ES_AUTH" -X GET 'http://localhost:9200/search_products_tenant_163/_search?pretty' -H 'Content-Type: application/json' -d '{
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
816
817
818
819
820
821
822
823
824
825
826
827
828
|
"query": {
"bool": {
"filter": [
{ "term": { "tenant_id": "162" } },
{ "exists": { "field": "option1_name" } }
],
"must_not": [
{ "exists": { "field": "specifications" } }
]
}
},
"size": 10,
"_source": ["spu_id", "title", "option1_name", "option2_name", "option3_name", "specifications"]
|
33839b37
tangwang
属性值参与搜索:
|
829
|
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
830
831
832
|
```
---
|
33839b37
tangwang
属性值参与搜索:
|
833
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
834
|
## 重排序示例
|
33839b37
tangwang
属性值参与搜索:
|
835
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
836
|
```bash
|
89638140
tangwang
重构 indexer 文档构建接口...
|
837
|
GET /search_products_tenant_170/_search
|
d7d48f52
tangwang
改动(mapping + 灌入结构)
|
838
839
|
{
"query": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
840
|
"match": {
|
d7d48f52
tangwang
改动(mapping + 灌入结构)
|
841
842
843
844
845
846
847
|
"title.en": {
"query": "quick brown fox",
"minimum_should_match": "90%"
}
}
},
"rescore": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
848
849
|
"window_size": 50,
"query": {
|
d7d48f52
tangwang
改动(mapping + 灌入结构)
|
850
851
852
853
|
"rescore_query": {
"match_phrase": {
"title.en": {
"query": "quick brown fox",
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
854
|
"slop": 50
|
d7d48f52
tangwang
改动(mapping + 灌入结构)
|
855
856
857
858
859
860
|
}
}
}
}
}
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
861
|
```
|
272aeabe
tangwang
调参
|
862
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
863
|
---
|
272aeabe
tangwang
调参
|
864
|
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
865
866
|
## 检查字段是否存在
|
9df421ed
tangwang
基于eval框架开始调参
|
867
868
869
|
GET search_products_tenant_163/_mapping
GET search_products_tenant_163/_field_caps?fields=*
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
870
|
```bash
|
f27a8d90
tangwang
ES文档维护
|
871
|
curl -u "$ES_AUTH" -X POST \
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
872
873
874
|
'http://localhost:9200/search_products_tenant_163/_count' \
-H 'Content-Type: application/json' \
-d '{
|
272aeabe
tangwang
调参
|
875
|
"query": {
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
876
877
|
"bool": {
"filter": [
|
42024409
tangwang
评估框架-批量打标
|
878
|
{ "exists": { "field": "title_embedding" } }
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
879
880
|
]
}
|
272aeabe
tangwang
调参
|
881
|
}
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
882
|
}'
|
36cf0ef9
tangwang
es索引结果修改
|
883
|
|
f27a8d90
tangwang
ES文档维护
|
884
|
curl -u "$ES_AUTH" -X POST \
|
36cf0ef9
tangwang
es索引结果修改
|
885
886
887
888
889
890
891
892
893
894
895
896
897
898
|
'http://localhost:9200/search_products_tenant_163/_count' \
-H 'Content-Type: application/json' \
-d '{
"query": {
"nested": {
"path": "image_embedding",
"query": {
"exists": {
"field": "image_embedding.vector"
}
}
}
}
}'
|
c3425429
tangwang
在以下文件中完成精排/融合清理工作...
|
899
|
```
|