lucene で検索システムを使用しています。デフォルトでは分散されていないので、HBase や Hadoop のようなものに移行することを考えています。
HBase や Hypertable などのソリューションには組み込みの検索機能がありますか? または、それらの上に Lucene を実装する必要がありますか?
lucene で検索システムを使用しています。デフォルトでは分散されていないので、HBase や Hadoop のようなものに移行することを考えています。
HBase や Hypertable などのソリューションには組み込みの検索機能がありますか? または、それらの上に Lucene を実装する必要がありますか?
Lucene は、HBase や Hypertable などの BigTable クローンとは大きく異なります。単純に分散 Lucene を探している場合は、Elastic Search や Katta などのプロジェクトを検討する必要があります。
Solr/Lucene にもクラスター上で動作する機能がありますが、パーティショニングは自動ではありません。探しているデータの分布に一致するように、シャードとレプリカを手動で作成する必要があります。基礎となるデータが HBase などに保存されている場合、セットアップ、変更、および更新がはるかに簡単になります。
基本的に、HBase と Lucene は異なる問題を解決します。Lucene は、キーワードやその他の種類の検索をすばやく返すことができるインデックスです。HBase は、個々の行をリアルタイムで処理できるデータ リポジトリです。ただし、HBase にはオンライン クエリ機能がありません。最良の結果を得るには、それらを組み合わせる必要があります。この分野の一例は Lily ( http://outerthought.org/site/products/lily.html )です。
注目すべきもう1つのテクノロジーは、HDFS上で動作できるKattaまたはDistributedLuceneです。
また、Cassandra バックエンドを備えた Lucene である Lucandra も参照してください。
Lucene は、構造化検索と全文検索という 2 つの主な機能を提供します。Hbase はそれらのいずれも提供しません。構造化された検索は、比較的簡単な方法で hbase を使用して行うことができます。それが Lilly が行っていることだと思います。しかし、全文検索を再構築するのはもっと難しいでしょう。Lucene をスケーリングするために、データを別の領域に分割できる属性を調べることで、インデックスをパーティション分割することを試みることができます (クロス領域検索を行うことはできません)。その後、エリアごとに 1 つのクラスターを持つことができます。