社区日报 第1704期 (2023-09-18)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 1828 次浏览 • 2023-09-18 11:04
1. Function Score Query 优化算分和Term&PhraseSuggester
https://blog.csdn.net/zhougube ... 98402
2. Elasticsearch 中字段类型(Field Type)详解
https://blog.csdn.net/aben_sky ... 15175
3. Elasticsearch 从搜索中获取选定的字段 fields
https://blog.csdn.net/UbuntuTo ... 53365
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili
社区日报 第1703期 (2023-09-15)
社区日报 • laoyang360 发表了文章 • 0 个评论 • 1778 次浏览 • 2023-09-15 15:11
https://www.elastic.co/es/blog ... -data
2、【视频】如何计算 Elasticsearch 或 Kibana 中的时差?(梯子)
https://www.youtube.com/watch?v=JD08pJsx27w
3、使用 E5 嵌入模型进行多语言矢量搜索
https://search-labs.elastic.co ... model
编辑:铭毅天下
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
社区日报 第1702期 (2023-09-14)
社区日报 • Se7en 发表了文章 • 0 个评论 • 1686 次浏览 • 2023-09-14 22:05
https://levelup.gitconnected.c ... 3ce63
2.可观测性故事:Elasticsearch 性能杀手(需要梯子)
https://medium.com/adyen/tales ... fc0bc
3.使用 Elasticsearch 和 Neo4j 实现可观测性(需要梯子)
https://medium.com/%40alex.pui ... c9e88
编辑:Se7en
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
怎么给集群中节点设置权重,想让某个节点具有优先成为主节点
Elasticsearch • Charele 回复了问题 • 2 人关注 • 1 个回复 • 1697 次浏览 • 2023-09-15 11:00
停止传播ES里这个荒谬的观点吧
Elasticsearch • zhous 回复了问题 • 4 人关注 • 12 个回复 • 2637 次浏览 • 2024-01-08 10:13
INFINI Easysearch 在墨天轮搜索型数据库排名中荣登榜首
Easysearch • liaosy 发表了文章 • 0 个评论 • 2270 次浏览 • 2023-09-13 15:30
近日,2023 年 9 月的 [墨天轮中国数据库流行度排行](https://www.modb.pro/dbRank) 火热出炉,本月共有 287 个数据库参与排名,中国数据库行业竞争日益激烈。其中,极限科技旗下软件产品 [INFINI Easysearch](https://www.infinilabs.com/products/easysearch/) 在 搜索型数据库 分类排名中脱颖而出,荣登榜首,获得了第一名的好成绩。

同时在国内整个数据库排行中进入了前 50 的行列。

[INFINI Easysearch](https://www.infinilabs.com/products/easysearch/) 是一个分布式的近实时搜索与分析引擎,同时也是一款具备自主可控的分布式近实时搜索型数据库产品,具备高性能、高可用、弹性伸缩、高安全性等特性,具备支持丰富的个性化搜索及聚合分析能力,可部署在物理机、虚拟机、容器、私有云和公有云,能承载 PB 级别的海量业务数据,为金融核心系统、运营商、制造业和政企业务系统提供安全、稳定、可靠的快速检索和实时数据探索分析能力,可满足不同业务场景的各项复杂需求。

[Easysearch](https://www.infinilabs.com/products/easysearch/) 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
国内搜索型数据库最近几年发展迅速,关键技术逐渐突破,应用场景和数据规模也逐年上升,已经成为企业必不可少的核心基础设施,产业生态也日益繁荣。极限科技作为国内搜索型数据库产品厂商第一梯队的杰出代表,同时也是行业标准的起草单位之一,此次在墨天轮中国数据库流行度排行搜索型数据库分类中荣登榜首,不仅代表着对 [INFINI Easysearch](https://www.infinilabs.com/products/easysearch/) 搜索型数据库的肯定,更代表着极限科技在“搜索数据库”产品的研究与创新上,取得了新的里程碑。
未来,极限科技将持续专注于打造国产搜索型数据库产品,致力于为用户提供更加优质、稳定、高效、安全的数据搜索服务和分析体验。
关于极限科技(INFINI Labs)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://www.infinilabs.com>
社区日报 第1701期 (2023-09-13)
社区日报 • kin122 发表了文章 • 0 个评论 • 1445 次浏览 • 2023-09-13 14:59
https://blog.csdn.net/UbuntuTo ... 23323
2. 为什么 Elasticsearch 中高基数字段上的聚合是一个坏主意以及如何优化它
https://blog.csdn.net/UbuntuTo ... 22848
3.ES 的缓存设计(需要梯子)
https://andreibaptista.medium. ... ad9a1
编辑:kin122
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili
新版ES8.10的改动
Elasticsearch • liujiacheng 回复了问题 • 2 人关注 • 1 个回复 • 1638 次浏览 • 2023-09-28 10:22
ES冷热架构,如何只查询热节点数据
Elasticsearch • zqc0512 回复了问题 • 4 人关注 • 2 个回复 • 1646 次浏览 • 2023-09-20 20:57
社区日报 第1700期 (2023-09-12)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 1472 次浏览 • 2023-09-12 12:02
https://martinfowler.com/bliki/CQRS.html
2. 我们在同步CQRS的时候为啥失败了?(需要梯子)
https://medium.com/trendyol-te ... 5c8f4
3. 我们在同步CQRS的时候为啥最终又成功了?(需要梯子)
https://medium.com/trendyol-te ... dcacd
编辑:斯蒂文
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站: https://ela.st/bilibili
让 Easysearch 运行在 LoongArch(3C5000L) 上
Easysearch • Hardy 发表了文章 • 3 个评论 • 1944 次浏览 • 2023-09-11 12:53
简介
在上一次,我介绍了在国产操作系统 Kylin V10 (Lance)-aarch64 上安装单机版 Easysearch/Console/Agent/Gateway/Loadgen,小伙伴们可[查看原文](https://elasticsearch.cn/article/14908)。今天我重点介绍下在 Loongnix-Server Linux release 8.4.1 (3C5000L)上安装 Easysearch。
系统配置
在安装之前,需要先进行系统参数调整并创建操作用户,以下命令均需要使用 root 用户操作。
```bash
配置nofile和memlock
tee /etc/security/limits.d/21-infini.conf <<-'EOF'
- soft nofile 1048576
- hard nofile 1048576
- soft memlock unlimited
- hard memlock unlimited
root soft nofile 1048576
root hard nofile 1048576
root soft memlock unlimited
root hard memlock unlimited
EOF
关闭THP
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
grep -i HugePages_Total /proc/meminfo
grep -wq transparent_hugepage /etc/rc.local || cat <<-'EOF' >> /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod 755 /etc/rc.local
内核调优
tee /etc/sysctl.d/70-infini.conf <<-'EOF'
vm.max_map_count = 262145
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 900
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.ip_local_port_range = 1024 65535
EOF
sysctl -p /etc/sysctl.d/70-infini.conf
```
用户配置
```bash创建Easysearch操作用户
groupadd -g 602 es
useradd -u 602 -g es -m -d /home/es -c 'easysearch' -s /bin/bash es
```
配置 JDK
```bash在各个节点上分别操作
wget -N http://ftp.loongnix.cn/Java/op ... ar.gz -P /usr/src
mkdir -p /usr/local/jdk
tar -zxf /usr/src/loongson*.tar.gz -C /usr/local/jdk --strip-components 1
tee /etc/profile.d/java.sh <<-'EOF'set java environment
JAVA_HOME=/usr/local/jdk
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
EOF
source /etc/profile
java -version
```
Easysearch 部署
部署及密码配置
```bash在线安装
curl -sSL http://get.infini.sh | bash -s -- -p easysearch -d /data/easysearch
初始化证书(若不采用默认证书,如需要调整证书可修改证书生成文件)
cd /data/easysearch
默认会生成随机密码
bin/initialize.sh
ll /data/easysearch/config/{.crt,.key,*.pem}
```
配置文件及 JVM 调整
```bash
cat </data/easysearch/config/easysearch.yml
cluster.name: infinilabs
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1"]
path.home: /data/easysearch
path.data: /data/easysearch/data
path.logs: /data/easysearch/logs
http.compression: true
security.enabled: true
security.audit.type: noop
security.ssl.transport.cert_file: instance.crt
security.ssl.transport.key_file: instance.key
security.ssl.transport.ca_file: ca.crt
security.ssl.transport.skip_domain_verify: true
security.ssl.http.enabled: true
security.ssl.http.cert_file: instance.crt
security.ssl.http.key_file: instance.key
security.ssl.http.ca_file: ca.crt
security.allow_default_init_securityindex: true
security.nodes_dn:- 'CN=infini.cloud,OU=UNIT,O=ORG,L=NI,ST=FI,C=IN'
security.restapi.roles_enabled: [ "superuser", "security_rest_api_access" ]
security.system_indices.enabled: true
security.ssl.http.clientauth_mode: OPTIONAL
security.system_indices.indices: [".infini-*"]
for admin dn
specify admin certs to operate against system indices, basic_auth is not required
curl -k --cert config/admin.crt --key config/admin.key -XDELETE 'https://localhost:9200/.infini-*/'
security.authcz.admin_dn:
- 'CN=admin.infini.cloud,OU=UNIT,O=ORG,L=NI,ST=FI,C=IN'
EOF
根据实际机器内存的大小进行配置,推荐配置为机器内存一半,且不超过31G
sed -i "s/1g/4g/g" $ES_HOME/config/jvm.options
```
备份目录及权限调整
```bash创建备份目录
mkdir -p /data/easysearch/backup
更新目录权限
chown -R es.es /data/easysearch
```
环境变量及启动服务
```bash
su - es
grep -wq easysearch ~/.bashrc || cat<> ~/.bashrc
export ES_HOME=/data/easysearch
EOF
source ~/.bashrc
jna替换<龙芯平台有独立的jna实现>
rm -rvf $ES_HOME/lib/jna*.jar
wget -N https://release.infinilabs.com ... 1.jar -P $ES_HOME/lib
以后台方式启动服务
$ES_HOME/bin/easysearch -d
```
Easysearch 验证
bash<br /> curl -ku "admin:$pass" <a href="https://127.0.0.1:9200" rel="nofollow" target="_blank">https://127.0.0.1:9200</a><br /> curl -ku "admin:$pass" <a href="https://127.0.0.1:9200/_cluster/health?pretty" rel="nofollow" target="_blank">https://127.0.0.1:9200/_cluster/health?pretty</a><br /> curl -ku "admin:$pass" <a href="https://127.0.0.1:9200/_cat/nodes?v" rel="nofollow" target="_blank">https://127.0.0.1:9200/_cat/nodes?v</a><br />

部署 Console
```bash
curl -sSL http://get.infini.sh | bash -s -- -p console
安装服务并启动
cd /opt/console
./console-linux-loong64 -service install
./console-linux-loong64 -service start
验证
systemctl status console
```
部署 Agent
```bash
curl -sSL http://get.infini.sh | bash -s -- -p agent
修改Agent配置文件
cd /opt/agent
sed -i "/ES_ENDPOINT:/ s|(.\: ).|\1$https://localhost:9200|" agent.yml
sed -i "/ES_USER:/ s|(.\: ).|\1admin|" agent.yml
sed -i "/ES_PASS:/ s|(.\: ).|\1$pass|" gateway.yml
sed -i "/API_BINDING:/ s|(.\: ).|\1\"0.0.0.0:8080\"|" agent.yml
head -n 5 agent.yml
安装服务并启动
./agent-linux-loong64 -service install
./agent-linux-loong64 -service start
验证
systemctl status agent
```
部署 Gateway
```bash
curl -sSL http://get.infini.sh | bash -s -- -p gateway
cd /opt/gateway
修改Gateway配置文件
sed -i "/ES_PASS:/ s|(.\: ).|\1$pass|" gateway.yml
head -n 10 gateway.yml
安装服务并启动
./gateway-linux-loong64 -service install
./gateway-linux-loong64 -service start
检查服务
systemctl status gateway
curl -u "admin:$pass" http://127.0.0.1:8000
```
部署 Loadgen
```bash
curl -sSL http://get.infini.sh | bash -s -- -p loadgen
写入数据测试
cd /opt/loadgen
mkdir -p mock
cat <mock/nginx.log
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET / HTTP/1.1" 200 8676 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /vendor/bootstrap/css/bootstrap.css HTTP/1.1" 200 17235 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /vendor/daterangepicker/daterangepicker.css HTTP/1.1" 200 1700 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /vendor/fork-awesome/css/v5-compat.css HTTP/1.1" 200 2091 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /assets/font/raleway.css HTTP/1.1" 200 145 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /vendor/fork-awesome/css/fork-awesome.css HTTP/1.1" 200 8401 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /assets/css/overrides.css HTTP/1.1" 200 2524 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /assets/css/theme.css HTTP/1.1" 200 306 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /vendor/fancytree/css/ui.fancytree.css HTTP/1.1" 200 3456 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
175.10.75.216 - - [28/Jul/2020:21:20:26 +0800] "GET /syncthing/development/logbar.js HTTP/1.1" 200 486 "<a href="http://dl-console.elasticsearch.cn/"" rel="nofollow" target="_blank">http://dl-console.elasticsearch.cn/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
EOF
cat <loadgen.yml
env:
ES_USERNAME: admin
ES_PASSWORD: $pass
ES_ENDPOINT: http://localhost:8000
runner:total_rounds: 1
no_warm: false
Whether to log all requests
log_requests: false
Whether to log all requests with the specified response status
log_status_codes:
- 0
- 500
assert_invalid: false
assert_error: false
variables: - name: ip
type: file
path: dict/ip.txt - name: message
type: file
path: mock/nginx.log
replace: # replace special characters in the value
'"': '\"'
'\': '\' - name: user
type: file
path: dict/user.txt - name: id
type: sequence - name: uuid
type: uuid - name: now_local
type: now_local - name: now_utc
type: now_utc - name: now_unix
type: now_unix - name: suffix
type: range
from: 10
to: 13
requests: - request:
method: POST
runtime_variables:
batch_no: uuid
runtime_body_line_variables:
routing_no: uuid
basic_auth:
username: $[[env.ES_USERNAME]]
password: $[[env.ES_PASSWORD]]
url: $[[env.ES_ENDPOINT]]/_bulk
body_repeat_times: 5000
body: |
{ "index" : { "_index" : "test-$[[suffix]]", "_id" : "$[[uuid]]" } }
{ "id" : "$[[uuid]]","routing_no" : "$[[routing_no]]","batch_number" : "$[[batch_no]]","message" : "$[[message]]","random_no" : "$[[suffix]]","ip" : "$[[ip]]","now_local" : "$[[now_local]]","now_unix" : "$[[now_unix]]" }
EOF
执行测试
./loadgen-linux-loong64 -c 6 -d 6 --compress
检查测试索引文档
curl -u "admin:$pass" http://127.0.0.1:8000/_cat/indices/test*?v
```
至此,完成在 LoongArch(3C5000L)上安装单机版 Easysearch/Console/Agent/Gateway/Loadgen。通过浏览器 http://机器域名:9000/ 即可访问 Console,对 Easysearch 进行配置管理。
可能遇到的问题

检查下配置文件中监听的地址是否正确,防火墙是否有关闭。

关于 Easysearch

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。
官网文档:<https://www.infinilabs.com/doc ... gt%3B
下载地址:<https://www.infinilabs.com/download>
- 'CN=infini.cloud,OU=UNIT,O=ORG,L=NI,ST=FI,C=IN'
社区日报 第1699期 (2023-09-11)
社区日报 • yuebancanghai 发表了文章 • 0 个评论 • 1086 次浏览 • 2023-09-11 10:06
https://mp.weixin.qq.com/s/mFD-W2_D4PDscsoO3SDbIQ
2. 腾讯云 ES Serverless 初体验
https://mp.weixin.qq.com/s/1P6jW3sAisPCtSPwnJH5Cw
3. 源码剖析:Elasticsearch 段合并调度及优化手段
https://mp.weixin.qq.com/s/N-rtgaoyQAPJ0e44ljDS7Q
编辑:yuebancanghai
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
B站:https://ela.st/bilibili
ES集群个别节点cpu使用率达到1000%以上
Elasticsearch • Charele 回复了问题 • 5 人关注 • 7 个回复 • 2610 次浏览 • 2023-09-21 12:31