一直想了解分布搜索與索引。Lucene有MultiSearcher,solr1.2的只能有單個(gè)索引,現(xiàn)在1.3可以有Distributed Searching這玩意。可以從多個(gè)索引里搜索出并合并結(jié)果返回給你。這些索引不是replication的,是分割的。可以先%num方式索引在num臺(tái)機(jī)器上,然后用solr的shards參數(shù)。
如:
shards=localhost:8080/use-solr1.3,localhost:9080/use-solr1.3&q=chenlb
測(cè)試后可以返回結(jié)果,但合并的時(shí)候發(fā)了點(diǎn)時(shí)間,我的機(jī)子上40-60ms,單個(gè)搜索基本是0ms
測(cè)試數(shù)據(jù)是14W結(jié)果,分開索引到兩個(gè)tomcat里。看了后臺(tái),一個(gè)搜索有兩次請(qǐng)求,其中合并的那機(jī)子是三次請(qǐng)求。時(shí)間可能花在請(qǐng)求里,還有就是合并可能緩存不到。
官方建議:如果單個(gè)solr足夠快的話沒有必要搞Distributed Searching,如果再高點(diǎn)要求可以index repliction。
當(dāng)索引很大的時(shí)候可能Distributed Searching用的上場(chǎng), 個(gè)人之見。
參考:
http://wiki.apache.org/solr/DistributedSearch
posted on 2008-08-07 18:31
流浪汗 閱讀(1017)
評(píng)論(0) 編輯 收藏 所屬分類:
Lucene