要不要也来分享分享一下啊

es中, painless可以把json字符串转为数组或list的吗

Ombres 回复了问题 • 3 人关注 • 2 个回复 • 3393 次浏览 • 2023-04-23 10:51 • 来自相关话题

es使用老版本命令插入新版本的问题!!!

FFFrp 回复了问题 • 3 人关注 • 2 个回复 • 2870 次浏览 • 2023-04-23 14:51 • 来自相关话题

elasticsearch 设置密码的问题

caryliang 回复了问题 • 4 人关注 • 3 个回复 • 2624 次浏览 • 2023-06-02 17:40 • 来自相关话题

ES是否可以设置内部做重试?

Charele 回复了问题 • 4 人关注 • 3 个回复 • 3952 次浏览 • 2023-04-22 16:30 • 来自相关话题

Web Scraper + Elasticsearch + Kibana + SearchKit 打造的豆瓣电影top250 搜索演示系统

发表了文章 • 0 个评论 • 4947 次浏览 • 2023-04-09 10:56 • 来自相关话题

Web Scraper + Elasticsearch + Kibana + SearchKit 打造的豆瓣电影top250 搜索演示系统

作者:小森同学

声明:电影数据来源于“豆瓣电影”,如有侵权,请联系删除


1.png



2.png




Web Scraper


json<br /> {<br /> "_id": "top250",<br /> "startUrl": ["<a href="https://movie.douban.com/top250?start=" rel="nofollow" target="_blank">https://movie.douban.com/top250?start=</a>[0-225:25]&filter="],<br /> "selectors": [{<br /> "id": "container",<br /> "multiple": true,<br /> "parentSelectors": ["_root"],<br /> "selector": ".grid_view li",<br /> "type": "SelectorElement"<br /> }, {<br /> "id": "name",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "",<br /> "selector": "span.title:nth-of-type(1)",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "number",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "",<br /> "selector": "em",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "score",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "",<br /> "selector": "span.rating_num",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "review",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "",<br /> "selector": "span.inq",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "year",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "\\d{4}",<br /> "selector": "p:nth-of-type(1)",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "tour_guide",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "^导演: \\S*",<br /> "selector": "p:nth-of-type(1)",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "type",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "[^/]+$",<br /> "selector": "p:nth-of-type(1)",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "area",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "regex": "[^\\/]+(?=\\/[^\\/]*$)",<br /> "selector": "p:nth-of-type(1)",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "detail_link",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "selector": ".hd a",<br /> "type": "SelectorLink"<br /> }, {<br /> "id": "director",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "",<br /> "selector": "span:nth-of-type(1) .attrs a",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "screenwriter",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "(?<=编剧: )[\\u4e00-\\u9fa5A-Za-z0-9/()\\·\\s]+(?=主演)",<br /> "selector": "div#info",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "film_length",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "\\d+",<br /> "selector": "span[property='v:runtime']",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "IMDb",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "(?<=[IMDb:\\s+])\\S*(?=\\d*$)",<br /> "selector": "div#info",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "language",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "(?<=语言: )\\S+",<br /> "selector": "div#info",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "alias",<br /> "multiple": false,<br /> "parentSelectors": ["detail_link"],<br /> "regex": "(?<=又名: )[\\u4e00-\\u9fa5A-Za-z0-9/()\\s]+(?=IMDb)",<br /> "selector": "div#info",<br /> "type": "SelectorText"<br /> }, {<br /> "id": "pic",<br /> "multiple": false,<br /> "parentSelectors": ["container"],<br /> "selector": "img",<br /> "type": "SelectorImage"<br /> }]<br /> }<br />


elasticsearch


<br /> {<br /> "mappings": {<br /> "properties": {<br /> "IMDb": {<br /> "type": "keyword",<br /> "copy_to": [<br /> "all"<br /> ]<br /> },<br /> "alias": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "all": {<br /> "type": "text",<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "area": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "director": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "film_length": {<br /> "type": "long"<br /> },<br /> "id": {<br /> "type": "keyword"<br /> },<br /> "language": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "link": {<br /> "type": "keyword"<br /> },<br /> "name": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "number": {<br /> "type": "long"<br /> },<br /> "photo": {<br /> "type": "keyword"<br /> },<br /> "review": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "score": {<br /> "type": "double"<br /> },<br /> "screenwriter": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "type": {<br /> "type": "text",<br /> "fields": {<br /> "keyword": {<br /> "type": "keyword",<br /> "ignore_above": 256<br /> }<br /> },<br /> "copy_to": [<br /> "all"<br /> ],<br /> "analyzer": "ik_max_word",<br /> "search_analyzer": "ik_smart"<br /> },<br /> "year": {<br /> "type": "long"<br /> }<br /> }<br /> }<br /> }<br />

kibana


需要使用pipeline对索引字段进行处理,如对type 通过空格进行分割为数组等,可以参照官方文档或其他博客。

制作仪表板省略, 请自行搜索

SearchKit

参考 https://github.com/searchkit/searchkit-starter-app


ES数据节点中的某一台突然异常,cpu明显高于其他节点

ake 回复了问题 • 5 人关注 • 2 个回复 • 5663 次浏览 • 2023-09-18 14:28 • 来自相关话题

es bulk写入数据时,查询变得很慢

charlesfang 回复了问题 • 2 人关注 • 1 个回复 • 5530 次浏览 • 2023-04-06 11:35 • 来自相关话题

Elastic7.10.0 restore定期恢复抛 data too large

回复

Hyj_simple1 发起了问题 • 1 人关注 • 0 个回复 • 5317 次浏览 • 2023-03-31 14:17 • 来自相关话题

es script score查询与function score查询的区别

回复

wfx 发起了问题 • 1 人关注 • 0 个回复 • 4404 次浏览 • 2023-03-28 16:13 • 来自相关话题

Es怎么实现按多字段去重查询呢?

charlesfang 回复了问题 • 4 人关注 • 3 个回复 • 4668 次浏览 • 2023-03-28 16:26 • 来自相关话题

elasticsearch regexp怎么匹配特殊字符

zhangcm 回复了问题 • 2 人关注 • 1 个回复 • 2974 次浏览 • 2023-03-23 10:41 • 来自相关话题

在使用esm备份索引时遇到这样的问题:error: invalid character '<' looking for beginning of value

回复

wanjunbao 发起了问题 • 1 人关注 • 0 个回复 • 3119 次浏览 • 2023-03-17 12:21 • 来自相关话题

nested类型中包含一个dense_vector的字段,通过cosineSimilarity计算相似度,提示类转换异常

mryu 回复了问题 • 2 人关注 • 2 个回复 • 3336 次浏览 • 2023-06-24 10:49 • 来自相关话题

elasticsearch GC问题

mryu 回复了问题 • 2 人关注 • 1 个回复 • 2906 次浏览 • 2023-03-27 11:41 • 来自相关话题