Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ElasticSearch sông JDBC MySQL không xóa bản ghi

Vì câu hỏi này đã được đặt ra, các tham số đã thay đổi rất nhiều, việc lập phiên bản và tiêu hóa đã không còn được dùng nữa và cuộc thăm dò đã được thay thế bằng lịch biểu, sẽ lấy biểu thức cron về tần suất chạy lại sông (bên dưới được lên lịch chạy 5 phút một lần )

    curl -XPUT 'localhost:9200/_river/account_river/_meta' -d '{
        "type" : "jdbc",
        "jdbc" : {
            "driver" : "com.mysql.jdbc.Driver",
            "url" : "jdbc:mysql://localhost:3306/test",
            "user" : "test_user",
            "password" : "test_pass",
            "sql" : "SELECT `account`.`id` as `_id`, `account`.`id`, `account`.`reference`, `account`.`company_name`, `account`.`also_known_as` from `account` WHERE NOT `account`.`deleted`",
            "strategy" : "simple",
            "schedule": "0 0/5 * * * ?" ,
            "autocommit" : true,
            "index" : "headphones",
            "type" : "Account"
        }
    }'

Nhưng đối với câu hỏi chính, câu trả lời tôi nhận được từ nhà phát triển là https://github.com/jprante/elasticsearch-river-jdbc/issues/213

Tôi đã thử quản lý nội bộ với lập phiên bản, nhưng điều này không hoạt động tốt với các bản cập nhật gia tăng và thêm hàng.

Một phương pháp tốt là lập chỉ mục cửa sổ. Mỗi khung thời gian (có thể mỗi ngày một lần hoặc mỗi tuần) một chỉ mục mới được tạo cho sông và được thêm vào một bí danh. Các chỉ số cũ sẽ bị giảm sau một thời gian. Bảo trì này tương tự như lập chỉ mục logstash, nhưng nó nằm ngoài tầm nhìn của một con sông.

Phương pháp tôi hiện đang sử dụng làm bí danh mà tôi nghiên cứu là tôi tạo lại chỉ mục và sông hàng đêm, đồng thời lên lịch cho sông chạy vài giờ một lần. Nó đảm bảo dữ liệu mới được đưa vào sẽ được lập chỉ mục vào ngày hôm đó và việc xóa sẽ phản ánh sau mỗi 24 giờ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C # MySqlParameter vấn đề

  2. Cách tìm nạp trường từ kết quả truy vấn MySQL trong bash

  3. Cập nhật truy vấn để cập nhật hàng trong MySQL

  4. MYSQL sum () cho các hàng riêng biệt

  5. Định dạng ngày chèn mysql PHP