我使用Solr(SolrCloud)來索引和搜索我的推文。大約有1600萬條推文,索引大小約爲3GB。這些推文在實時搜索時會實時編入索引,以便啓用實時搜索。目前我使用lowercase
字段類型作爲我的推特正文字段。對於搜索中的單個搜索詞,大約需要7秒,並且每增加一個搜索詞,搜索所需的時間就會線性增加。 3GB是爲solr進程分配的最大RAM。示例solr搜索查詢看起來像這樣提高Solr查詢速度超過1600萬條推文
tweet_body:*big* AND tweet_body:*data* AND tweet_tag:big_data
有關提高搜索速度的任何建議嗎?目前,我只運行1個包含整個推文集的分片。
運行可能與經常使用(可能tweet_tag)多個碎片作爲片鍵可能的幫助。 – muruga
我不認爲這是一個碎片問題,因爲有另一個領域,我做了搜索,並返回非常快。該字段是推文句柄,它以10毫秒的速度返回。 – user883499
同意,但是當分割索引大小會減少(因爲它分散在多個碎片中)並可能會改善整體性能。另外,由於內存有限,因此索引內存不足。嘗試增加RAM,因爲整個索引可以存儲在RAM中以加快訪問速度。 – muruga