2018 年 Elastic Advent Calendar 分享活动已结束 🎉🎉

Adventmedcl 发布了置顶文章 • 38 个评论 • 3333 次浏览 • 2018-11-20 22:33 • 来自相关话题

[招聘] 📡Elastic 邀您一起共创开源事业 ❄️

发布了置顶文章 • 3 个评论 • 5197 次浏览 • 2017-07-27 16:20 • 来自相关话题

人民在线招聘ES搜索研发工程师

求职招聘paddy0914 发表了文章 • 0 个评论 • 10 次浏览 • 7 小时前 • 来自相关话题

 岗位描述
1、负责众云大数据平台Elasticsearch相关服务的功能设计、开发、运营和维护工作;
2、持续优化Elasticsearch的性能,完善功能,支持各业务线检索、聚合等场景;
3、负责众云事业部ELK平台的运营和维护工作;
岗位要求
1. 计算机相关专业全日制本科及以上学历,三年以上开发工作经验;
2. 熟练掌握java语言,熟练使用linux,强悍的编码和troubleshooting能力;
3. 深入了解Elasticsearch、Solr等开源搜索引擎,了解Lucene、Elasticsearch源码优先;
4. 精通搜索引擎架构原理、排序算法、索引处理及分词算法,索引数据结构;
5. 熟练掌握常见SQL数据库原理、数据库设计、查询编写和优化;
6. 有基础框架、中间件、基础库的开发经验优先;
7. 具有大型搜索引擎或舆情相关项目经验优先;
8. 对linux kernel、存储、文件系统、分布式任一方向有深入研究者优先;
9. 逻辑分析能力强,善于沟通,有良好的团队合作精神,良好的学习能力;

请问logstash多个config文件,多个input的jdbc中的connection能抽成一个引用文件吗?

Logstashlaoyang360 回复了问题 • 3 人关注 • 2 个回复 • 20 次浏览 • 7 小时前 • 来自相关话题

请问一个关于是否拆分索引的问题

Elasticsearchrochy 回复了问题 • 3 人关注 • 4 个回复 • 76 次浏览 • 11 小时前 • 来自相关话题

logstash吞吐量太低了怎么优化呢?

Logstashrochy 回复了问题 • 2 人关注 • 1 个回复 • 26 次浏览 • 11 小时前 • 来自相关话题

es 分组结果求和

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 25 次浏览 • 11 小时前 • 来自相关话题

Elastic日报 第515期 (2019-01-20)

Elastic日报至尊宝 发表了文章 • 0 个评论 • 36 次浏览 • 21 小时前 • 来自相关话题

1.Java应用日志导入ELK。
http://t.cn/E5GiA1T
2.使用Tokens分发Cassandra数据。
http://t.cn/E5GIOd5
3.(自备梯子)为什么如此难以让计算机像人一样说话?
http://t.cn/EqFOf04

编辑:至尊宝
归档:https://elasticsearch.cn/article/6337
订阅:https://tinyletter.com/elastic-daily

Elastic日报 第514期 (2019-01-19)

Elastic日报bsll 发表了文章 • 0 个评论 • 53 次浏览 • 1 天前 • 来自相关话题

  1. Flink 写入数据到 ElasticSearch。
    [http://t.cn/E5L88Q7](http://t.cn/E5L88Q7)

    2.ES分布式一致性原则分析系列:节点、Meta、数据(需翻墙)。
    [http://t.cn/E5LGg4i](http://t.cn/E5LGg4i)

    [http://t.cn/E5LqqbD](http://t.cn/E5LqqbD)

    [http://t.cn/E5L57t0](http://t.cn/E5L57t0)

  2. 一周热点:最近刷屏的《啥是佩奇》。
    [http://t.cn/E5vkFQc](http://t.cn/E5vkFQc)


ES集群数据节点负载突然升高,拒绝检索请求

ElasticsearchJackGe 回复了问题 • 3 人关注 • 2 个回复 • 121 次浏览 • 2 天前 • 来自相关话题

使用 RestHighLevelClient 连接 es 集群报错 Request cannot be executed; I/O reactor status: STOPPED

回复

Elasticsearchqiumingben 回复了问题 • 1 人关注 • 1 个回复 • 45 次浏览 • 2 天前 • 来自相关话题

如何修改kibana的默认主页

Kibana点火三周 发表了文章 • 0 个评论 • 66 次浏览 • 2 天前 • 来自相关话题

在6.0版本以前,登录kibana之后,默认会路由到app/kibana下的discover应用。
在6.3版本以后,新增了一个home路径/app/kibana#/home?_g=h@44136fa,访问根路径\会直接跳到以上路径。

希望在kibana上做更多定制化开发的同学,或许会有需求在登录kibana之后能够跳转到自己的页面。

要完成以上需求,只需要在kibana的配置文件里面增加一行:
<br /> server.defaultRoute: /app/system_portal<br />
以上例子,我让kibana登录之后直接跳到我自己的app插件system_portal

配置默认路由的文件, src/server/http/get_default_route.js
js<br /> import _ from 'lodash';<br /> <br /> export default _.once(function (kbnServer) {<br /> const {<br /> config<br /> } = kbnServer;<br /> // 根目录basePath加上defaultRoute<br /> return `${config.get('server.basePath')}${config.get('server.defaultRoute')}`;<br /> });<br />

默认路由就是定义在server.defaultRoute中,默认值是app/kibana,可查看src/server/config/schema.js:
``js<br /> import Joi from 'joi';<br /> import { constants as cryptoConstants } from 'crypto';<br /> import os from 'os';<br /> <br /> import { fromRoot } from '../../utils';<br /> import { getData } from '../path';<br /> <br /> export default async () => Joi.object({<br /> pkg: Joi.object({<br /> version: Joi.string().default(Joi.ref('$version')),<br /> branch: Joi.string().default(Joi.ref('$branch')),<br /> buildNum: Joi.number().default(Joi.ref('$buildNum')),<br /> buildSha: Joi.string().default(Joi.ref('$buildSha')),<br /> }).default(),<br /> <br /> env: Joi.object({<br /> name: Joi.string().default(Joi.ref('$env')),<br /> dev: Joi.boolean().default(Joi.ref('$dev')),<br /> prod: Joi.boolean().default(Joi.ref('$prod'))<br /> }).default(),<br /> <br /> dev: Joi.object({<br /> basePathProxyTarget: Joi.number().default(5603),<br /> }).default(),<br /> <br /> pid: Joi.object({<br /> file: Joi.string(),<br /> exclusive: Joi.boolean().default(false)<br /> }).default(),<br /> <br /> cpu: Joi.object({<br /> cgroup: Joi.object({<br /> path: Joi.object({<br /> override: Joi.string().default()<br /> })<br /> })<br /> }),<br /> <br /> cpuacct: Joi.object({<br /> cgroup: Joi.object({<br /> path: Joi.object({<br /> override: Joi.string().default()<br /> })<br /> })<br /> }),<br /> <br /> server: Joi.object({<br /> uuid: Joi.string().guid().default(),<br /> name: Joi.string().default(os.hostname()),<br /> host: Joi.string().hostname().default('localhost'),<br /> port: Joi.number().default(5601),<br /> maxPayloadBytes: Joi.number().default(1048576),<br /> autoListen: Joi.boolean().default(true),<br /> defaultRoute: Joi.string().default('/app/kibana').regex(/^\//,start with a slash),<br /> basePath: Joi.string().default('').allow('').regex(/(^$|^\/.*[^\/]$)/,start with a slash, don't end with one`),
rewriteBasePath: Joi.boolean().when('basePath', {
is: '',
then: Joi.default(false).valid(false),
otherwise: Joi.default(false),
}),
customResponseHeaders: Joi.object().unknown(true).default({}),
ssl: Joi.object({
enabled: Joi.boolean().default(false),
redirectHttpFromPort: Joi.number(),
certificate: Joi.string().when('enabled', {
is: true,
then: Joi.required(),
}),
key: Joi.string().when('enabled', {
is: true,
then: Joi.required()
}),
keyPassphrase: Joi.string(),
certificateAuthorities: Joi.array().single().items(Joi.string()).default(),
supportedProtocols: Joi.array().items(Joi.string().valid('TLSv1', 'TLSv1.1', 'TLSv1.2')),
cipherSuites: Joi.array().items(Joi.string()).default(cryptoConstants.defaultCoreCipherList.split(':'))
}).default(),
cors: Joi.when('$dev', {
is: true,
then: Joi.object().default({
origin: ['://localhost:9876'] // karma test server
}),
otherwise: Joi.boolean().default(false)
}),
xsrf: Joi.object({
disableProtection: Joi.boolean().default(false),
whitelist: Joi.array().items(
Joi.string().regex(/^\//, 'start with a slash')
).default(),
token: Joi.string().optional().notes('Deprecated')
}).default(),
}).default(),

logging: Joi.object().keys({
silent: Joi.boolean().default(false),

quiet: Joi.boolean()
.when('silent', {
is: true,
then: Joi.default(true).valid(true),
otherwise: Joi.default(false)
}),

verbose: Joi.boolean()
.when('quiet', {
is: true,
then: Joi.valid(false).default(false),
otherwise: Joi.default(false)
}),

events: Joi.any().default({}),
dest: Joi.string().default('stdout'),
filter: Joi.any().default({}),
json: Joi.boolean()
.when('dest', {
is: 'stdout',
then: Joi.default(!process.stdout.isTTY),
otherwise: Joi.default(true)
}),

useUTC: Joi.boolean().default(true),
})
.default(),

ops: Joi.object({
interval: Joi.number().default(5000),
}).default(),

plugins: Joi.object({
paths: Joi.array().items(Joi.string()).default(),
scanDirs: Joi.array().items(Joi.string()).default(),
initialize: Joi.boolean().default(true)
}).default(),

path: Joi.object({
data: Joi.string().default(getData())
}).default(),

optimize: Joi.object({
enabled: Joi.boolean().default(true),
bundleFilter: Joi.string().default('!tests'),
bundleDir: Joi.string().default(fromRoot('optimize/bundles')),
viewCaching: Joi.boolean().default(Joi.ref('$prod')),
watch: Joi.boolean().default(false),
watchPort: Joi.number().default(5602),
watchHost: Joi.string().hostname().default('localhost'),
watchPrebuild: Joi.boolean().default(false),
watchProxyTimeout: Joi.number().default(5
60000),
useBundleCache: Joi.boolean().default(Joi.ref('$prod')),
unsafeCache: Joi.when('$prod', {
is: true,
then: Joi.boolean().valid(false),
otherwise: Joi
.alternatives()
.try(
Joi.boolean(),
Joi.string().regex(/^\/.+\/$/)
)
.default(true),
}),
sourceMaps: Joi.when('$prod', {
is: true,
then: Joi.boolean().valid(false),
otherwise: Joi
.alternatives()
.try(
Joi.string().required(),
Joi.boolean()
)
.default('#cheap-source-map'),
}),
profile: Joi.boolean().default(false)
}).default(),
status: Joi.object({
allowAnonymous: Joi.boolean().default(false)
}).default(),
map: Joi.object({
manifestServiceUrl: Joi.string().default(' https://catalogue.maps.elastic.co/v2/manifest'),
emsLandingPageUrl: Joi.string().default('https://maps.elastic.co/v2'),
includeElasticMapsService: Joi.boolean().default(true)
}).default(),
tilemap: Joi.object({
url: Joi.string(),
options: Joi.object({
attribution: Joi.string(),
minZoom: Joi.number().min(0, 'Must be 0 or higher').default(0),
maxZoom: Joi.number().default(10),
tileSize: Joi.number(),
subdomains: Joi.array().items(Joi.string()).single(),
errorTileUrl: Joi.string().uri(),
tms: Joi.boolean(),
reuseTiles: Joi.boolean(),
bounds: Joi.array().items(Joi.array().items(Joi.number()).min(2).required()).min(2)
}).default()
}).default(),
regionmap: Joi.object({
includeElasticMapsService: Joi.boolean().default(true),
layers: Joi.array().items(Joi.object({
url: Joi.string(),
format: Joi.object({
type: Joi.string().default('geojson')
}).default({
type: 'geojson'
}),
meta: Joi.object({
feature_collection_path: Joi.string().default('data')
}).default({
feature_collection_path: 'data'
}),
attribution: Joi.string(),
name: Joi.string(),
fields: Joi.array().items(Joi.object({
name: Joi.string(),
description: Joi.string()
}))
}))
}).default(),

i18n: Joi.object({
defaultLocale: Joi.string().default('en'),
}).default(),

// This is a configuration node that is specifically handled by the config system
// in the new platform, and that the current platform doesn't need to handle at all.
__newPlatform: Joi.any(),

}).default();

filebeat的数据输出到kafka的数据格式可以不使用json格式么

回复

Beats匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 51 次浏览 • 2 天前 • 来自相关话题

在java中,使用RestHighLevelClient 怎么连接 search-guard

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 60 次浏览 • 2 天前 • 来自相关话题

有没有 ngram 和 wildcard 折中方案?

Elasticsearchrochy 回复了问题 • 3 人关注 • 2 个回复 • 63 次浏览 • 2 天前 • 来自相关话题

多次大的gc,随后就会断连,这是因为什么呢?

回复

ElasticsearchLeeeo 发起了问题 • 1 人关注 • 0 个回复 • 67 次浏览 • 2 天前 • 来自相关话题

search-guard ,并且使用 sgtlstool.sh 生成过证书,遇到一个报错

ElasticsearchLeeeo 回复了问题 • 2 人关注 • 1 个回复 • 72 次浏览 • 2 天前 • 来自相关话题