【发布时间】:2012-01-26 10:10:18
【问题描述】:
是不是更好用
- 很多索引(例如,对于每个用户,因为您的应用程序允许这样做) 在 Lucene 中
- 或者只有一个,每个文档都在 int 中
...如果你想:
- 性能
- 磁盘空间
- 健康
我使用的是 elasticsearch,因此我使用的是 Lucene。
【问题讨论】:
-
用户搜索的是同一套文档还是不同的文档集?如果不同的集合,文档的性质是什么?
-
在我的示例中,每个用户都应该只看到他/她的文档。所以只使用一个索引进行搜索。
-
所以 - 单独的索引具有以下优点:1. 易于擦除用户数据,2. 很少担心查看不属于他们的文档 - 简化您的编码,3. 小(呃),每个用户的搜索速度更快。缺点可能是打开索引的初始启动和要处理的更多索引文件,这在我的书中并不是真正的大缺点。
-
另外两个需要注意的问题。采用 index-per-user 路线,您会增加磁盘使用量,因为每个用户都会复制一些数据。采用单一索引路径,用户的搜索评分可能会因属于不同用户的文档内容而产生偏差。例如,如果用户 A 经常在他的文档中使用一个稀有词,但用户 B 在他们的文档中只使用过一次,那么如果索引只包含他们的文档,那么用户 B 的得分就不会那么高。
-
关于 Solr stackoverflow.com/questions/8592153/…987654321@的类似问题
标签: solr lucene elasticsearch