我正在研究Sonarqube 5.1.它以前工作得很好,后来我在设备错误上没有剩余空间.所以我删除了一些不需要的文件并重新启动了服务.现在我可以看到服务状态正在运行,但我无法访问该网页(因为声纳webservice未启动)我已检查日志,我发现以下错误.
2015.08.03 10:58:56 INFO es[o.elasticsearch.node] [sonar-1438592314778] started
2015.08.03 10:59:03 INFO es[o.e.gateway] [sonar-1438592314778] recovered [6] indices into cluster_state
2015.08.03 11:00:44 WARN es[o.e.indices.cluster] [sonar-1438592314778] [sourcelines][0] failed to start shard
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [sourcelines][0] failed to recover shard
at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:287) ~[elasticsearch-1.4.4.jar:na]
at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132) ~[elasticsearch-1.4.4.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:114 2) [na:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
Caused by: org.elasticsearch.index.translog.TranslogCorruptedException: translog corruption while reading from stream
at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:70) ~[elasticsearch-1.4.4.jar:na]
at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:257) ~[elasticsearch-1.4.4.jar:na]
... 4 common frames omitted
Caused by: org.elasticsearch.ElasticsearchException: failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796]
at org.elasticsearch.index.translog.Translog$Index.readFrom(Translog.java:520) ~[elasticsearch-1.4.4.jar:na] …Run Code Online (Sandbox Code Playgroud) sharding elasticsearch sonarqube elasticsearch-indices sonarqube5.1
我正在使用此curl命令行来清理我的索引:
curl -XDELETE http://example.com/my_index-*
Run Code Online (Sandbox Code Playgroud)
但是,现在,我想删除my_index-.*[.][0-3][0-9]:
my_index-YYYY.MM.ddmy_index-YYYY.MM.dd-*我发现的相关Elasticsearch文档:
删除索引API在正则表达式上没有说什么.
多个指数说:
它也支持通配符,例如:
test*或*test或te*t或*test*,并以"增加"(能力+)和"删除"(-),例如:+test*,-test3.
几乎所有具有
index参数的API都支持index参数值中的日期数学.
[...]
date_format是可选格式,应在其中呈现计算日期.默认为YYYY.MM.dd.
我的问题:
DELETEElasticsearch HTTP服务器发送请求方法以删除仅格式化的索引my_index-YYYY.MM.dd?my_index-*但保持my_index-*-*?例如,有时可以在POST数据中提供正则表达式:
curl -XPOST http://example.com/my_index-2017.07.14/_search?pretty' -H 'Content-Type: application/json' -d'
{
"suggest": {
"song-suggest" : {
"regex" : "n[ever|i]r",
"completion" : {
"field" …Run Code Online (Sandbox Code Playgroud) 这个问题是关于为应用程序选择运行查询的数据库类型。暂时将其他因素放在一边,考虑到 mongodb 和 elastic 之间的选择,关键标准是查询应该近乎实时地解决。查询将是临时的,因此可以包含 JSON 对象中的任何字段,并且可能包含聚合和子聚合。此外,不会有嵌套对象,并且没有任何字段将包含“描述性”文本(如电影评论等),即所有字段都将是关键字类型字段,如州、国家/地区、城市、名称等。
现在,我读到 elasticsearch 性能接近实时,并且 elasticsearch 使用倒排索引并为每个字段自动创建它们。综上所述,我的问题如下。(堆栈中发布了一个类似的问题,但我认为它没有回答我的问题 elasticsearch vs MongoDB for filtering application)
1)由于我提到的用例中的字段不包含描述性文本,因此不需要弹性提供的全文搜索功能和其他附加功能(特别是对于文本搜索),弹性和弹性之间的更好选择是什么?蒙戈?如果我要在 mongo 中的所有可用字段上创建单个字段索引,弹性搜索和 mongo 查询/聚合性能将如何比较?
2)我不熟悉高级索引,所以我假设可以在 mongo 中的所有可用字段上创建索引(使用多个单字段索引或复合索引?)。我知道这会带来存储和写入速度的成本,这对于弹性也是如此。
3)此外,在弹性中,用户可以在写入速度(索引率)与写入文档变得可用的速度(refresh_interval)之间进行权衡以进行查询。mongo 中是否有类似的功能?
mongodb indices elasticsearch mongodb-indexes elasticsearch-indices
我有一个关于elasticsearch索引模板的问题,我的问题有一个场景。
为一系列索引创建一个模板,命名为templateA,并且有一些从这个模板创建的索引,命名为Index-yyyy.mm.dd2和Index-yyyy.mm.dd2。一段时间后,我需要在索引中创建一些新字段,并更新templateA.
SO,如何使之前创建的索引使用新模板?请给我一些建议。非常感谢!
夜间发生了一些事情,我的ES集群(由5个数据节点,3个主节点组成).
说实话,我不知道发生了什么,但所有索引和数据都被删除,群集进入"只读"模式,可能被黑了?
试图重新启动kibana - 它重新启动,没有任何改变.尝试重新启动Elastic - 它重新启动(所有节点),没有任何改变.
然后我看了一下群集设置,这就是我得到的:
{
"persistent": {
"cluster": {
"routing": {
"allocation": {
"enable": "all"
}
},
"blocks": {
"read_only": "true"
}
}
},
"transient": {
"cluster": {
"routing": {
"allocation": {
"enable": "all"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试撤消只读如下:
PUT _cluster/settings
{
"persistent": {
"blocks.read_only": false
}
}
Run Code Online (Sandbox Code Playgroud)
没有运气,你可以看到:
{
"error": {
"root_cause": [
{
"type": "cluster_block_exception",
"reason": "blocked by: [FORBIDDEN/6/cluster read-only (api)];"
}
],
"type": "cluster_block_exception",
"reason": "blocked by: [FORBIDDEN/6/cluster read-only (api)];"
}, …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 elasticsearch 中获取索引(不是商店)的实际大小。我使用了索引 API 来获取统计信息。
GET doc/_stats
Run Code Online (Sandbox Code Playgroud)
“索引”-“index_total”是实际索引大小吗?
"total": {
"docs": {
"count": 1000000,
"deleted": 0
},
"store": {
"size_in_bytes": 118078896
},
"indexing": {
"index_total": 1000000,
"index_time_in_millis": 30985,
"index_current": 0,
"index_failed": 0,
"delete_total": 0,
"delete_time_in_millis": 0,
"delete_current": 0,
"noop_update_total": 0,
"is_throttled": false,
"throttle_time_in_millis": 0
},
Run Code Online (Sandbox Code Playgroud) 当我导入索引一切正常(包括关系).
问题是主模型不关注关系.
当我更新关系时,索引也不会更新.
Cache::tags在修改关系时,有没有办法使用类似的东西来更新索引?或许是另一种方式.
我已经在Ubuntu 14.04中安装了Elasticsearch 5.1。我在Elasticsearch中执行了一些操作,例如创建索引,删除索引等。然后,我安装了Kibana 5.1。现在,我想使用邮递员(使用PUT的localhost:9200 / my_index)在elasticsearch中创建新索引。但是我遇到了这个错误。
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "unknown setting [index.country] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
}
],
"type": "illegal_argument_exception",
"reason": "unknown setting [index.country] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
},
"status": 400
}
Run Code Online (Sandbox Code Playgroud)
我记得我曾经用作country索引或类型。但是后来我清除了elasticsearch和kibana(也删除了与之相关的目录)。都重新安装。但是仍然出现此错误。如果有人知道解决方案,将不胜感激。
这是一些您可能需要解决的查询的输出。
GET localhost:9200 / _mapping
{“ .kibana”:{“映射”:{“服务器”:{“属性”:{“ uuid”:{“类型”:“关键字”}}}},“ config”:{“属性”:{“ buildNum “:{” type“:”关键字“}}}}}}
(获取)localhost:9200 …
elasticsearch elasticsearch-plugin elasticsearch-indices elasticsearch-5
我需要 Elasticsearch 中匹配特定模式的索引名称列表。使用 Kibana 我没有问题,但我根本不知道如何使用 Elasticsearch-PHP 客户端做同样的事情。
例子:
Trying to get indices matching the name pattern "*.foo.bar"
With Kibana: GET /_cat/indices/*.foo.bar
Run Code Online (Sandbox Code Playgroud)
有人知道吗?我在 Elasticsearch-PHP 文档中没有找到任何关于此的内容。
我正在开发一个创建 N 个索引和 N 个别名的应用程序,并且这些索引和别名之间存在一一对应的关系。
但偶尔,我会得到 N 个索引和 N-1 个别名,其中一个索引的名称本应由别名使用。由于某种原因,当发生这种情况时,虚假索引“应该是别名”的状态为黄色,而其他索引均为绿色。
什么可能导致索引成为唯一一个黄色的索引?我希望理解这一点可以帮助我缩小需要仔细检查的代码部分以修复错误的范围。
我的 elasticsearch.yml 只有:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "[::1]"]
Run Code Online (Sandbox Code Playgroud)
在生产中我们可能有更多的ES节点,但这只是一个测试系统,所以只有一个ES节点。