elasticsearch Elasticsearch:将根url从/更改为/elastic,elasticsearch,dns,url-routing,elasticsearch-6,elasticsearch,Dns,Url Routing,Elasticsearch 6" /> elasticsearch Elasticsearch:将根url从/更改为/elastic,elasticsearch,dns,url-routing,elasticsearch-6,elasticsearch,Dns,Url Routing,Elasticsearch 6" />

elasticsearch Elasticsearch:将根url从/更改为/elastic

elasticsearch Elasticsearch:将根url从/更改为/elastic,elasticsearch,dns,url-routing,elasticsearch-6,elasticsearch,Dns,Url Routing,Elasticsearch 6,我正在设置elasticsearch群集,我想将域url设置为/elastic 目前,当我转到/elastic时,elasticsearch认为/elastic是索引的名称 我还没有找到任何关于如何为搜索设置根url上下文的文档。任何帮助都将不胜感激。对于那些通过互联网搜索的人来说,在Kubernetes中如何使用ingress和path而不是/时做类似的事情,可以使用注释nginx.ingress.Kubernetes.io/rewrite-target://这样做: apiVersion:

我正在设置elasticsearch群集,我想将域url设置为
/elastic

目前,当我转到
/elastic
时,elasticsearch认为
/elastic
是索引的名称


我还没有找到任何关于如何为搜索设置根url上下文的文档。任何帮助都将不胜感激。

对于那些通过互联网搜索的人来说,在Kubernetes中如何使用ingress和path而不是
/
时做类似的事情,可以使用注释
nginx.ingress.Kubernetes.io/rewrite-target://
这样做:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: elasticsearch
spec:
  rules:
  - host: k8s-master
    http:
      paths:
      - backend:
          serviceName: elasticsearch
          servicePort: 9200
        path: /elastic

它将在内部映射到
elasticsearch
服务的根上下文,并且
index\u not\u found\u异常
已解决。

虽然cgrim的答案确实将我引向了正确的方向,但我遇到了一个无法搜索任何索引的问题。相反,这个重写目标对我有效

kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: elasticsearch
spec:
  rules:
  - host: k8s-host
    http:
      paths:
      - backend:
          serviceName: elasticsearch-master
          servicePort: 9200
        path: /elastic(/|$)(.*)

此解决方案仍然会将
/path
映射到根目录,并解决
索引未找到\u异常
错误。

您需要使用一个web服务器(如nginx或apache)来处理ES,以实现此目的。我将nginx路由
/elastic
到elasticsearch客户端,但问题是elasticsearch将url视为
/elastic
并认为
/elastic
是正在搜索的索引的名称。请注意,Spring boot elasticsearch无法连接到在(此类)路径下运行的elasticsearch实例。我们现在尝试在子域上运行elasticsearch,而不是这里的解决方案。