solr lucene spatial 性能堪忧啊。
(1)4b record 10k qps 场景的一个讨论http://lucene.472066.n3.nabble.com/Improving-performance-for-SOLR-geo-queries-td3719310.html
(2)spatial历史http://www.searchworkings.org/blog/-/blogs/the-state-and-future-of-spatial-search/
(3)目前看20tps 2Mrecord的 benchmark https://issues.apache.org/jira/browse/SOLR-2155?focusedCommentId=12988316&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12988316
(4)filtercache优化性能 http://lucene.472066.n3.nabble.com/Solr-Spatial-Search-for-Specif-Areas-on-Map-td3995051.html#a3995333
spatial的流派、geo模型、开源协议、版本的更新,热点的LSP啊,路还长啊。从上几篇博文看:
(1)tdouble 类型定义隐藏子域类型很有必要,因为geo转换的区间查询时候,trie类型牺牲空间还性能。presicestep由8 调为4
(2)使用LSP 的 RecursivePrefixTreeFieldType 而不是内置的LatLonType 性能有2倍提升
(3)shard record数据量200M,2kw内
(4)filtquery 针对query特征需要适当cache=false
(5)geohash 在3.* 序列其实是暴力遍历的,geohash意味着不要用
(6) lucene4.* 优化的方向就是缩小匹配规模,triegrid也罢,二分查找grid binary grid scheme, using Hilbert Curves希尔伯特曲线,还有不少实践路要走
(7)latlon 类型的基于点模型,满足80%的场景需求
2330w地理数据的单core 压测、性能调优,需要深入挖坑了看来。