2011-07-05 26 views

Trả lời

4

Có, bạn có thể làm điều đó. Chỉ cần tạo một lược đồ Solr, có chứa tất cả các trường cần thiết cho cả hai bảng và thêm một trường khác, có chứa tên bảng. Trong khi lập chỉ mục, thêm thuộc tính tên bảng vào các trường bạn muốn lập chỉ mục. Trong khi tìm kiếm cũng luôn bao gồm tham số truy vấn cho trường tên bảng.

Thay vào đó, bạn có thể thiết lập nhiều phiên bản của Solr. Nhưng bạn nên làm điều này chỉ, nếu chúng ta đang nói về số lượng lớn dữ liệu ở đây (như hàng triệu hàng bảng).

+2

"Không đồng nhất (các loại dữ liệu khác nhau) bạn có trong một trường hoặc trong một chỉ mục, ít hữu ích hơn" - http://wiki.apache.org/solr/SchemaDesign –

+0

bạn có thể vui lòng cung cấp cho tôi không một ví dụ ? –

+0

Xin chào, nhận xét không thực sự là nơi thích hợp cho điều đó. Vui lòng đặt một câu hỏi mới. – nfechner

18

Nếu một phần nào đó trong ứng dụng của bạn cần tìm kiếm địa chỉ liên hệ và một ứng dụng khác cần tìm kiếm trong khoảng không quảng cáo, hãy tạo hai chỉ mục riêng biệt. Lưu trữ dữ liệu cực kỳ khác nhau trong cùng một chỉ mục gần như không bao giờ là một ý tưởng hay, nó làm phức tạp mọi thứ một cách không cần thiết. Khi Solr wiki wisely says:

Các đồng nhất hơn (khác loại dữ liệu) bạn có trong một lĩnh vực hoặc trong một chỉ mục, ít hữu ích nó là.

Bạn không cần phải có nhiều trường hợp Solr để chứa nhiều chỉ mục, bạn có thể dễ dàng quản lý điều này với multi-core.

+1

Nhưng bạn không thể tìm kiếm trên các lõi (ít nhất là theo tôi có thể thấy) – soandos

7

Tôi tìm thấy câu trả lời rất hữu ích cho câu hỏi này here, bao gồm một số hướng dẫn về cách sử dụng "nhiều chỉ mục" so với "nhiều loại tài liệu trong một chỉ mục". Bài viết cũng liên kết đến mã ví dụ trên github mà tôi thấy rất hữu ích.

+0

cảm ơn cho tip, tốt hơn để làm theo sau đó các tài liệu solr. –

+5

Liên kết được đăng bởi vulcan đã thay đổi. Đây là cái mới: http://lucidworks.com/blog/solr-powered-isfdb-part-4/ – daekano

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