2013-04-26 40 views
0

我需要將記錄發送到搜索引擎(Solr或ElasticSearch)進行索引。Solr和ElasticSearch的可伸縮性:5000個值的字段

在我的設計中,一個字段最多可以有5000個值,對於某些記錄,這個字段的所有這5000個值(OR或AND關係)都需要發送到搜索引擎。

我有約10個這種性質的領域,加上30個其他領域(文本,整數等)。

我不知道Solr或ElasticSearch是否可以有效地處理大量的字段值以及哪一個值做得更好。

在這種情況下數百萬條記錄呢?

在已經有數百萬記錄和保持增長的情況下,實時索引如何?我瞭解Solr NRS和ElasticSearch可以做實時索引,但我不確定我的情況是否會帶來新的挑戰。

感謝您的任何意見!

乾杯!

回答

3

Solr和ElasticSearch都基於Lucene,它可以完成真正的索引/查詢/存儲文檔。因此,就字段和文檔的大小而言,性能應該與兩者非常相似。

一個或順序之間的選擇應該可能基於哪一個你覺得最愉快的工作。例如,ElasticSearch具有用於查詢和編制索引的JSON API,而Solr使用非常多的XML進行配置和查詢。

如果您將擁有數百萬個文檔並且/或者需要將插入/查詢負載劃分到一組機器中,ElasticSearch在我看來具有優勢,因爲易於分片和創建副本。

關於實時搜索,兩者都可能適合您的需求。它們允許您自定義頻繁刷新索引的頻率。允許剛編入索引的新文檔出現在搜索結果中。例如,在ElasticSearch中,您可以將刷新設置爲每分鐘一次。

+0

嗨,Felipe,非常感謝您的支持。您的回答似乎解決了「數據增長」部分。在處理「5000個領域的價值」時,你是否意識到任何一個引擎的能力問題,這是我的第一個問題。感謝日誌! – curious1 2013-04-27 02:05:24

+0

你應該沒問題。我現在正在使用一個索引,在單個字段中具有高達80MB的文檔。 Lucene能夠處理非常大的文檔。 – 2013-04-27 03:11:27

+0

感謝您的信息。我喜歡聽聽有經驗的人。 – curious1 2013-04-27 03:29:26