2009-04-10 12 views
5

Herkesin, bir EC2 Asp.Net uygulamasından Amazon SimpleDB'de anahtar kelime aramalarını gerçekleştirmenin en iyi yolu üzerinde herhangi bir fikri olup olmadığını merak ediyorum. Anahtar kelime arama en iyi yolu Amazon SimpleDB EC2 ve Asp.Net kullanarak?

ben düşünüyorum Birkaç seçenekleri

şunlardır:

1) çok değer özelliğinin anahtar kelime ekleme ve benzeri bir sorgu ile ara: kelime = 'firstword' kesişme kelime = 'secondword' keywordTable dan seçme id kesişim kelime = 'thirdword'

Amazon Query Example

2) Katta bir webservice arabirimi oluşturun:

Katta on EC2

3) Bir periyodik buluta Lucene endeksi iter Lucene.Net güncelleme hizmeti sıraya. Eğer (belirtildiği gibi her soru gibi) kesinlikle SimpleDB çözümü arıyorsanız

Load balance Lucene(StackOverflow post)

Lucene on S3 (blog post)

cevap

1

Sadece bu soruyu toparlamak için ... Lightspeed'in SimpleDB sağlayıcısı Solr ve SolrNet'i kullanarak Lightspeed için özel bir arama sağlayıcısı yazarak yaralandık. Lightspeed için ISearchEngine arabirimini uygulanmasına ilişkin

Bilgi: http://www.mindscape.co.nz/blog/index.php/2009/02/25/lightspeed-writing-a-custom-search-engine/

Ve bu Solr Kütüphanesi kullanan edilir: Solr kolayca EC2 makineleri kullanılarak ölçekli beri, bu en mantıklı http://code.google.com/p/solrnet/

bize.

1

('kilitleme' soruna almak için) Katta ve Lucene size yardımcı olmayacaktır. Sadece 'Amazon altyapısı' tabanlı bir çözüm arıyorsanız, bu seçeneklerden herhangi biri işe yarayacaktır.

Her üç seçenek de, ne kadar kurulum ve yönetim yapmanız gerektiğine ve hangisinin en iyi olduğuna karar vermenize göre değişir. Basitlik ve minimum yönetim gereksinimine ihtiyacınız varsa, Anahtar Kelime adlı çok değerli bir öznitelikle SimpleDB en iyi seçimdir.

Ve alaka düzeyine göre sıralama yapmanız gerekmiyorsa. Kurulum veya yönetilecek hiçbir şey yoktur ve yalnızca gerçek CPU & bant genişliğiniz için ücretlendirilirsiniz.

Lucene, anahtar kelime aramadan daha fazlasına ihtiyacınız varsa mükemmel bir seçimdir ancak dizinde kendiniz güncellemeleri yönetmeniz gerekir. Ayrıca, yük dengelemeyi, yedeklemeleri yönetmeniz ve SimpleDB ile elde edeceğinizden daha fazlasını yapmanız gerekir. Başarısız olmamanız ve EC2 çökmesi durumunda geri yükleme yaparken zaman aşımına uğrayabilirseniz, bu, endişelenmeniz gereken tek şey ve SimpleDB'yi tercih etmek için daha az sebep. EC2 Katta ile

her şeyi kendiniz yönetmek olurdu. En fazla esnekliğe ve yapacak işlere sahip olursunuz.

+0

Teşekkürler Mocky, strickly bir SimpleDB çözümü uygulamamakta daha çok arıyorum. Çok sınırlıdır. AWS'de pek çok tam metin arama çözümünün bulunmadığı şaşırtıcıdır. Özellikle web sitesi elastik yük dengelemede olduğunda. – josefresno

1

Simple Savant, SimpleDB için Lucene.NET (Ben Basit Savant yaratıcısıyım) kullanarak tam metin araması için entegre destek içeren açık kaynaklı bir .NET kalıcılık kitaplığıdır.

Tam metinli dizin oluşturma yaklaşımı here olarak tanımlanmıştır.