2011-10-10 41 views
6

Tôi có câu hỏi về khả năng tạo các trường lồng nhau trong solr. Tìm kiếm của Google cho tôi biết điều gì đó về nhóm nhưng tôi nghĩ nó chỉ là kết quả?các trường lồng nhau trong SOLR

những gì tôi muốn có là một cấu trúc như thế:

  • mục1
    • mục 1 (9)
    • mục 2 (8)
  • mục2
    • mục 3 (6)
  • Category3
    • mục 4 (23)

tôi đã cố gắng một cái gì đó như thế này:

<field name="Category" type="string" indexed="true" stored="true" multiValued="true" required="false"> 
<field name="MiscellaneousName" type="string" indexed="true" stored="true" multiValued="true" required="false"/> 

Nhưng nó không hoạt động.

Cập nhật: Các danh mục và mặt hàng phải được mặt. Mục Everey (= facet) là một phần của một thể loại. Một danh mục có thể có nhiều hoặc null trường. Danh mục và các mục được lưu trữ trong cơ sở dữ liệu, tôi muốn lập chỉ mục chúng một cách linh động. Tôi chỉ muốn tìm kiếm các mục, các danh mục chỉ là văn bản. Tôi đang sử dụng solr 3.3 với Tomcat 7.

+0

Bạn đang sử dụng Solr nào? Nếu 4.0, có vẻ như bạn đang tìm [pivot facets] (http://wiki.apache.org/solr/SimpleFacetParameters#Pivot_.28ie_Decision_Tree.29_Faceting). Nếu có, đây là một [bài viết giới thiệu] tốt (http://solr.pl/en/2010/10/25/hierarchical-faceting-pivot-facets-in-trunk/). –

Trả lời

6

Cảm ơn bạn đã cập nhật.Pivot facets cho phép bạn làm điều gì đó như:

  • mục1 (17)
    • mục 1 (9)
    • mục 2 (8)
  • mục2 (6)
    • mục 3 (6)
  • Category3 (23)
    • mục 4 (23)

.. nhưng họ chỉ có sẵn trong Solr 4,0 (thân cây). Tuy nhiên, bạn có thể mô phỏng các kết quả này trong Solr thấp hơn (xuống còn 1,4), mặc dù nó phức tạp và đòi hỏi hai truy vấn Solr thay vì một. Tôi đã viết một bài đăng trên blog về điều này - Pivot Faceting (Decision Trees) in Solr 1.4.

Bạn có thể giữ giản đồ bạn có trong câu hỏi ban đầu của bạn - facivot faceting (thực hoặc mô phỏng) hoạt động trên bất kỳ trường tùy ý, khác nhau (hoặc tương tự).

+0

Cảm ơn câu trả lời của bạn! Có vẻ như điều tôi cần! Bạn có nghĩ rằng solr 4.0 đã sẵn sàng để sử dụng không? Và đi đâu? – HW90

+0

"Solr 4.0" thực sự có nghĩa là thân cây Solr hiện tại, mà bạn sẽ phải tự mình xem xét để xem nó có ổn định trong khu vực bạn sẽ sử dụng không - có rất nhiều thứ mới trong bản phát hành ở nhiều trạng thái khác nhau " làm xong". Tại nơi làm việc, chúng tôi chạy 1.4.1, và nó vững chắc như một tảng đá, nhưng chúng tôi chưa thực hiện một bước nhảy vọt. Nếu bạn không biết chắc chắn, tốt nhất của bạn đi với ổn định (Solr 3.4), và sử dụng kỹ thuật hai truy vấn tôi phác thảo trong bài đăng blog của tôi - nó là hư không gần như dễ dàng như các khía cạnh trục thực trong 4.0, nhưng cả hai sẽ giúp bạn có được những khía cạnh bạn tìm kiếm ... –

1

Pivot facets là những gì bạn cần để xác định faceting faceting.
Tuy nhiên, bạn sẽ cần phải sử dụng xây dựng thân cây để nó hoạt động.

Nếu bạn có vấn đề nâng cấp, bạn có thể kiểm tra các tùy chọn @http://www.lucidimagination.com/why-lucid/webinars/mastering-power-faceted-search

Đây là giải pháp, và cần bạn thao tác các dữ liệu mà bạn ăn.

Cattegory1 -> item 1 
0//Cattegory1 and 1//Cattegory1//item1 

Nó hoạt động với sự kết hợp của -
lọc kết quả sử dụng loại fq =: "0 // Cattegory1"
facet.prefix mà sẽ giúp bạn giới hạn các khía cạnh tuỳ theo mức độ, nếu bạn cần để giới hạn kết quả

Cũng http://wiki.apache.org/solr/HierarchicalFaceting, có thể hữu ích.

+0

cảm ơn câu trả lời của bạn, tôi đã cập nhật câu hỏi của mình. Nhưng làm thế nào để làm cho Cattegory trở thành một phần của item? Nếu điều này có thể tôi có thể nhóm chúng trên trang web của khách hàng ... – HW90

+0

đã chỉnh sửa câu trả lời. – Jayendra

0

Bạn có thể tạo danh mục chỉ là một trường của mục, ví dụ: khi bạn tìm kiếm loại 1 mục 1 và 2 trở lại trong kết quả?

Nếu bạn có hai trường hoàn toàn phải là một phần của thực thể và phải được liên kết với nhau, nhiều trường có thể hữu ích. Chúng được thiết kế cho những thứ như một điểm có giá trị x và y.

Tôi nghĩ chúng ta cần biết thêm về chính xác những gì bạn đang cố gắng làm để đề xuất những cách tốt để xử lý nó trong Solr.

+0

cảm ơn câu trả lời của bạn, tôi đã cập nhật câu hỏi của mình. Tôi sẽ không tìm kiếm cattegories, chỉ dành cho các item. Nhưng làm thế nào để làm cho một phần cattegory của mục? – HW90

+0

Tạo các thực thể mà bạn thêm các mục và có một trường trong mục là 'danh mục'. Điền thông tin này vào danh mục. Rất tiếc, đã cố gắng thêm ví dụ nhưng có thời gian khủng khiếp với định dạng. EDIT: Sau khi cập nhật, tôi nghĩ rằng đây không phải là những gì bạn cần. Chúc may mắn tìm câu trả lời thực sự của bạn! – tedders

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