2012-09-11 61 views
8

Làm cách nào để lưu trữ một mảng giá trị trong chỉ mục Solr? Tôi đang cố gắng xây dựng một tệp schema.xml.Lưu trữ mảng trong Solr

xem xét khả năng tài liệu Solr sau:

ID: 351 
Name: Beatles 
Members: 
    1) Name: John 
     Instrument: Guitar 
    2) Name: Paul 
     Instrument: Guitar 
    3) Name: George 
     Instrument: Bass 
    4) Name: Ringo 
     Instrument: Drums 

Trong MySQL tôi sẽ có ba bảng, như vậy:

Bands: 
    BandID 
    Name 
People: 
    PersonID 
    Name 
    Instrument 
BandsPeople: 
    BandID references Bands(BandID) 
    PersonID references People(PersonID) 

Bất chấp quan niệm rằng một người có thể thuộc về nhiều ban nhạc và khác lợi thế của cách tiếp cận MySQL, mục tiêu của tôi là tìm hiểu cách lưu trữ các mảng trong Solr. Ban nhạc chỉ đơn giản là một ví dụ và có thể không phải là một ví dụ tốt!

Cách tiếp cận rõ ràng vì có nhiều Member s sẽ là một lĩnh vực đa giá trị:

<field name="member" stored="true" type="string" multiValued="true" indexed="true"/> 

Tuy nhiên, đó đa giá trị lĩnh vực riêng của mình cần phải có subvalues. Tôi không thấy bất kỳ tài liệu nào về cách xây dựng lược đồ. Lưu ý rằng tôi đang sử dụng Solr 4. Cảm ơn.

Trả lời

1

Lucene đã tham gia để bạn có thể dự đoán sơ đồ db với chúng với một số cảnh báo, xem Grouping and Joining in Lucene/Solr. Solr cuối cùng cũng sẽ có quyền truy cập vào điều đó, hãy kiểm tra ongoing work

+0

Cảm ơn bạn, nhưng như đã nêu ý định của tôi là tìm hiểu cách lưu trữ một mảng trong Solr, không phải cách để ước tính cơ sở dữ liệu được đưa ra làm ví dụ. 1 dù sao thì cũng có thông tin về Lucene. Cảm ơn. – dotancohen

8

Có một vài câu trả lời, nhưng đáng tiếc là không ai trong số họ sử dụng multivalued. tài liệu lồng nhau

Đối với tên khía cạnh lập chỉ mục, dữ liệu của bạn (một tài liệu) sẽ trông như thế này:

id="351" band="Beatles" 
    member_0="John" instrument_0="Guitar" 
    member_1="Paul" instrument_1="Guitar" 
    ... 

Với danh sách tương đối ngắn (ngắn hơn hàng trăm), sau này là đơn giản nhất trên kích thước tài liệu của bạn và sự phức tạp , nhưng buộc vấn đề vào lòng của khách hàng xa như tìm kiếm.

+0

Cảm ơn, Gabriel. Tôi không chắc chắn rằng phương pháp tiếp cận trường động là một cách tiếp cận tốt, mặc dù tôi đồng ý rằng không có nhiều cách tiếp cận khác để lựa chọn. Tôi sẽ chơi với điều này, cảm ơn! – dotancohen

+0

Tôi là ý kiến ​​mà chúng tôi đã đưa ra * không * cách tiếp cận "tốt". Chỉ cần chọn một trong đó là tương thích nhất với môi trường của bạn. (Hoặc không làm điều đó.) – inanutshellus

+0

Phải, điều này rõ ràng không phải là một trường hợp sử dụng mà Lucene (hoặc Solr) được thiết kế cho. Blog trong các liên kết đã chỉnh sửa là tuyệt vời, cảm ơn bạn! – dotancohen

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