配置弹性搜索

Configuring Elasticsearch

我正在采用 sonarqube,它遇到了一个与它所依赖的 Elasticsearch 实例相关的间歇性问题。要解决这个问题,我认为我需要修改 Elasticsearch 配置值。

在我设置的 \conf\sonar.properties 设置文件中

sonar.search.port=9200

当我尝试在浏览器中访问时,它给了我以下信息。

太好了,所以我只需要在 powershell 中构建正确的请求?

Invoke-WebRequest 'localhost:9200' -方法'GET' 无法识别URI前缀
Invoke-WebRequest 'http://localhost:9200/' -Method 'GET' 违反协议
Invoke-WebRequest 'localhost:9200' -Method 'XGET' 无法将值 "XGET" 转换为类型
Invoke-WebRequest 'http://localhost:9200/_all/settings' -Method 'GET' 违反协议

如果我直接更改 Elasticsearch 配置,它会重新生成(可能作为声纳启动的一部分)所以我认为任何配置都必须以这种方式完成。

任何指点将不胜感激。

我认为您的 elasticsearch 实例没有启动,并且 运行 或者它的设置未将 9200 以外的其他端口用于 http。默认情况下,当您通过浏览器访问 ES 时,您至少应该看到如下所示的响应(如果使用 Chrome/Firefox)。如果您使用 IE,它应该提示将此响应保存为 JSON。

{
  "name" : "ESPOC-NODE1",
  "cluster_name" : "ESPOC",
  "cluster_uuid" : "oZSfvTqmQY-ASngFlxp56A",
  "version" : {
    "number" : "5.5.2",
    "build_hash" : "b2f0c09",
    "build_date" : "2017-08-14T12:33:14.154Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

所以首先让你的 ES 工作。然后您可以继续进行 SONAR 设置。

确实缺少声纳文档。端口的正确声纳设置是:

sonar.search.httpPort=9200