2015-12-24 28 views
6

Cách tốt nhất để lập chỉ mục liên tục thay đổi dữ liệu trong cơ sở dữ liệu PostgreSQL thành cơ sở dữ liệu Solr/Elasticsearch là gì?Dữ liệu lập chỉ mục từ postgres đến solr/elasticsearch

Tôi có cơ sở dữ liệu sau khi đăng bài trên AWS RDS và tôi muốn thực hiện tìm kiếm phức tạp trên đó. Tuy nhiên dữ liệu tôi sẽ truy vấn chống lại là liên tục thay đổi với viết rất cao/cập nhật. Vì vậy, tôi không chắc chắn làm thế nào tôi nên chuyển dữ liệu đến solr/elasticsearch hiệu quả và đáng tin cậy.

Thanks for the help

Trả lời

2

Trong trường hợp Solr, một cách tiếp cận chung là sử dụng Data Import Handler (DIH cho ngắn). Định cấu hình nhập đầy đủ & sql delta-import đúng cách, trong đó delta import nhập dữ liệu từ cơ sở dữ liệu thay đổi kể từ lần đánh giá nhập cuối cùng qua dấu thời gian (vì vậy, bạn cần lược đồ thiết kế có dấu thời gian thích hợp).

Các thời gian của delta-nhập khẩu, có 2 phong cách mà có thể được sử dụng riêng rẽ hoặc kết hợp:

  • Đỗ delta-nhập khẩu với một bộ đếm thời gian. (ví dụ: 5 phút một lần)
  • Sau mỗi lần cập nhật trong cơ sở dữ liệu, thực hiện cuộc gọi đến nhập-delta.

Tham khảo https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler để biết chi tiết DIH.

4

Nguy cơ ai đó đánh dấu câu hỏi này là trùng lặp, đây là liên kết để thiết lập postgres-to-elasticsearch trong một luồng StackOverflow khác. Ngoài ra còn có this blog post trên Atlassian cũng nói về cách cập nhật thời gian thực từ PostgreSQL vào ElasticSearch.

Chủ đề Atlassian, cho đám đông tl; dr, sử dụng các thủ tục PGS được lưu trữ để sao chép dữ liệu cập nhật/chèn vào bảng dàn, sau đó xử lý riêng bảng dàn. Đó là một cách tiếp cận tốt đẹp mà sẽ làm việc cho một trong hai ES hoặc Solr. Thật không may, đó là một giải pháp của riêng bạn, trừ khi bạn đã quen thuộc với Clojure.

Các vấn đề liên quan