Solr 的基本设计思路

Solr 的基本设计思路是非常简单的。你向 Solr 中存储大量的信息,然后可以向 Solr 询问你需要的一部分信息。你向 Solr 导入信息的的过程,我们成为 索引(indexing) 或者 更新索引(updating)。

当你向 Solr 查找某一个问题的过程,我们称为查询。

可以使用下面的比喻来理解 Solr 是如何工作的,将 Solr 想象成为一个有关菜谱的活页夹。当你向菜谱中添加一个新的菜谱的时候,你同时也更新了菜谱活页夹后面的索引。

你列出你刚刚添加菜谱的每一个成分和所在的页面。假设你添加了 100 个菜谱,你可以使用索引来找到使用了豆子,西兰花或者咖啡为成分的所有菜谱。使用索引比对每一个菜谱进行查找要快很多,想象下你的菜谱有几千或者几百万种菜谱在里面。

Solr 允许你使用多种不同的字段或者实体类型来构建索引。在上面的例子中,我们只需要一个字段的索引,这个索引字段名字为 成分。你也可以有其他的有关菜谱的索引字段,例如你可以添加一个叫做 菜谱口味 的字段,这个字段你可以使用 亚洲口味,印第安口味,墨西哥口味等内容,同时你可以可以添加一个准备时间的字段。

当你在 Solr 中查询 “有什么菜谱是亚洲口味,使用咖啡作为成分,准备时间少于 30 分钟?” 的,Solr 将会为你返回你需要的菜谱。

方案(Schema)就是你告诉 Solr 是如何从输入数据中构建索引的。