修改elasticsearch默認索引返回數


1. 背景

(1) 客戶反映es查詢只能返回10000個數據,而需求時返回1.9W個數據,因此需要設置對應索引的默認返回數index.max_result_window

(2) 給客戶部署的服務以docker-compose啟動,其配置文件docker-compose.yml文件如下,其中es版本為5.6.16

version: '2'
services:
  aimind_mongodb:
    image: mongo
    container_name: aimind_mongodb
    volumes:
      - "/data/configdb/:/data/configdb"
      - "/data/db/:/data/db"
    restart: always
    ports:
      - "27017:27017"
  aimind_mysql:
    image: mysql
    container_name: aimind_mysql
    volumes:
      - "/root/aimind/mysql/data:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "test12345"
    ports:
      - "3306:3306"
  aimind_redis:
    image: redis
    container_name: aimind_redis
    command: redis-server --requirepass vagiahgi$$af
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "test"
    ports:
      - "6379:6379"
  aimind_es_single:
    image: elasticsearch:5.6
    container_name: aimind_es_single
    ports:
      - "9300:9300"
      - "9200:9200"
    restart: always
    environment:
      - "discovery.type=single-node"
  aimind_backend:
    depends_on:
      - aimind_es_single
      - aimind_mongodb
    image: registry.iflyresearch.com/aimind/aimind-backend:devlatest
    command: java -jar /app.jar --spring.profiles.active=swagger,single
    container_name: aimind_backend
    environment:
    - "SPRING_PROFILES_ACTIVE=swagger,single"
    volumes:
      - "/root/aimind/storage:/root/aimind/storage"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/root/aimind/docker/docker:/bin/docker"
      - "/root/aimind/aimind/application-single.yml:/home/aimind/application-single.yml"
      - "/mnt/cephfs/aimind/:/mnt/cephfs/aimind/"
    links:
      - aimind_es_single
      - aimind_mongodb
    extra_hosts:
      - "aimind-single:127.0.0.1"
      - "aimind_es:127.0.0.1"
    ports:
      - "18080:8080"
    restart: always
  aimind_web:
    depends_on:
      - aimind_backend
    image: registry.iflyresearch.com/aimind/aimind:devlatest
    container_name: aimind_web
    volumes:
      - "/root/aimind/aimind/web/nginx.conf:/etc/nginx/nginx.conf"
    links:
      - aimind_backend
    ports:
      - "18000:80"
    restart: always
View Code

 2. 操作

(1) es提供通過請求的方式更改指定index的_settings信息,因此可通過如下命令對索引aimind_prod_storage設置默認最大返回數量

curl -XPUT localhost:9200/aimind_prod_storage/_settings -d '{"index.max_result_window":"100000"}'

(2) 查詢設置后

curl -XGET localhost:9200/aimind_prod_storage/_settings

 (3) 為了避免docker-compose down/up重啟,導致es的數據丟失,因此可以將es的數據文件保存在宿主機上,通過掛載的方式進行,具體配置如下:

aimind_es_single:
    image: elasticsearch:5.6
    container_name: aimind_es_single
    ports:
      - "9300:9300"
      - "9200:9200"
    restart: always
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data:/usr/share/elasticsearch/data
    environment:
      - "discovery.type=single-node"
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM