2009-04-10 24 views
5

Tôi tự hỏi nếu có ai có bất kỳ suy nghĩ nào về cách tốt nhất để thực hiện tìm kiếm từ khóa trên Amazon SimpleDB từ một ứng dụng EC2 Asp.Net.Cách tốt nhất để tìm kiếm từ khóa Amazon SimpleDB bằng EC2 và Asp.Net?

Một vài tùy chọn Tôi đang xem xét là:

1) Thêm từ khóa vào một thuộc tính đa giá trị và tìm kiếm với một truy vấn như: chọn id từ keywordTable nơi keyword = 'firstword' từ khóa ngã = 'secondword' ngã tư keyword = 'thirdword'

Amazon Query Example

2) Tạo một lối vào webservice để Katta:

Katta on EC2

3) Dịch vụ cập nhật Lucene.Net được xếp hàng đợi định kỳ đẩy chỉ mục Lucene lên đám mây. (Để có được xung quanh vấn đề 'khóa')

Load balance Lucene(StackOverflow post)

Lucene on S3 (blog post)

Trả lời

1

Chỉ để dọn dẹp câu hỏi này ... Chúng tôi đã sử dụng nhà cung cấp SimpleDB của Lightspeed, Solr và SolrNet bằng cách viết một nhà cung cấp tìm kiếm tùy chỉnh cho Lightspeed.

Thông tin về việc thực hiện giao diện ISearchEngine cho Lightspeed: http://www.mindscape.co.nz/blog/index.php/2009/02/25/lightspeed-writing-a-custom-search-engine/

Và đây là Thư viện Solr chúng tôi đang sử dụng: http://code.google.com/p/solrnet/

Kể từ Solr có thể dễ dàng thu nhỏ sử dụng máy EC2, điều này làm cho ý nghĩa nhất để chúng tôi.

1

Nếu bạn đang tìm kiếm một giải pháp đúng SimpleDB (theo câu hỏi như đã nêu) Katta và Lucene sẽ không giúp bạn. Nếu bạn đang tìm kiếm chỉ đơn thuần là một giải pháp dựa trên cơ sở hạ tầng của Amazon thì bất kỳ lựa chọn nào cũng sẽ hoạt động.

Tất cả ba tùy chọn khác nhau về mức độ thiết lập và quản lý bạn sẽ phải làm và quyết định điều nào là tốt nhất tùy thuộc vào yêu cầu thực tế của bạn.

SimpleDB với thuộc tính đa giá trị có tên là Từ khóa là lựa chọn tốt nhất của bạn nếu bạn cần đơn giản và quản trị tối thiểu. Và nếu bạn không cần phải sắp xếp theo mức độ liên quan. Không có gì để thiết lập hoặc quản trị và bạn sẽ chỉ bị tính phí cho băng thông thực tế của mình là & băng thông.

Lucene là lựa chọn tuyệt vời nếu bạn cần nhiều hơn tìm kiếm từ khóa nhưng bạn sẽ tự mình quản lý cập nhật cho chỉ mục. Bạn cũng sẽ phải quản lý cân bằng tải, sao lưu và thất bại mà bạn đã nhận được với SimpleDB. Nếu bạn không quan tâm đến việc thất bại và có thể chịu đựng được thời gian trong khi bạn khôi phục trong trường hợp xảy ra sự cố EC2 thì đó là một điều ít lo lắng và một lý do nhỏ hơn để thích SimpleDB.

Với Katta trên EC2, bạn sẽ tự quản lý mọi thứ. Bạn sẽ có sự linh hoạt nhất và công việc cần làm nhất.

+0

cảm ơn Mocky, tôi đang tìm kiếm nhiều hơn và nhiều hơn nữa khi không triển khai giải pháp SimpleDB đơn giản. Nó quá hạn chế. Điều đáng ngạc nhiên là không có nhiều giải pháp tìm kiếm toàn văn có sẵn trên AWS. Đặc biệt khi trang web được cân bằng tải đàn hồi. – josefresno

1

Đơn giản Savant là một thư viện .NET tồn tại mã nguồn mở cho SimpleDB bao gồm hỗ trợ tích hợp cho tìm kiếm toàn văn bản bằng Lucene.NET (Tôi là người sáng tạo Savant đơn giản).

Cách tiếp cận lập chỉ mục toàn văn được mô tả here.

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