- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于关系数据库的类比,我想知道 Solr 如何适应。
根据我到目前为止的想法,Solr 中的“文档”类似于 sql 中的“行”(如果我的 sql 表有 100 行,我需要在 solr 中插入 100 个文档)并且“核心”类似于“表”(或数据库?!?)。
问题是:
如果我有 2 组不相关的信息,假设一个包含汽车信息(id、名称、系列、颜色、描述)的表和一个包含用户信息(id、姓名、地址、年龄、性别)的表,我在哪里插入这些Solr中的东西?
我制作了 2 个核心(core_car、core_user)并用对应表中的文档填充每个核心?
或者我制作 1 个核心(core_general)并在那里插入两个表中的所有文档(以某种方式分开,我不知道如何分开)。
在第一种有 2 个内核的情况下,我感觉我正在创建 2 个数据库,每个数据库有 1 个表(矫枉过正)。
在第二个中,我感觉我正在创建 1 个表,其中所有不相关的字段都混在一起(如果存在某种形式的分离,情况就不会这样 - 我目前不知道)。
请确认与否我的假设。
先感谢您。
最佳答案
很高兴您在发布问题之前进行了探索。这是我的意见。
Solr文档 :可能更合适的理解这个概念的方式是从结果的角度来思考。在执行搜索查询后,每个 Solr 文档只不过是结果集中的一个结果条目。
如果您要索引 Wikipedia,则每篇文章都将是一个 Solr 文档。当您搜索“排序算法”时,您希望看到的结果是“冒泡排序”、“合并排序”等。它们中的每一个都是一篇文章、一个 Solr 文档和结果集中的一个结果。
如果您希望将此与 rdbms 概念联系起来,我想说每个搜索结果(即 Solr 文档)都可以是 sql 查询结果集中的一行。该行可以是单个表中的一行,也可以是 JOIN 表中的一行。
Solr核心只不过是 ONE lucene Index 的包装。每个 Solr 网络应用程序可以运行多个 Solr 核心。
加快理解速度的最佳方法是避免将 Solr 中的概念与 RDBMS 相关联。
探索 What Solr offers that RDMBS doesn't (有效率的)
这是另一个可能对您有所帮助的链接:Solr Terminology
您的用例
Solr/Lucene 的美妙之处在于灵活的模式,或者我会说没有模式。每个文档可以具有与先前索引的文档完全不同的字段和属性。
在同一个 lucene 索引(在你的例子中是 Solr Core)中有不同类型的文档(汽车、人等)是完全没问题的,只要它们是 可扩展 共。
例如,如果您有 5 亿汽车条目和 30 亿人条目,那么将它们分别编入索引是有意义的。如果您有 100 万人和 50 万辆汽车,您可以将它们全部放入同一个索引中,并使用包含实体类型的标识符字段。
你的问题很主观。不是每个人都会同意我说的话。在一个内核或多个内核之间做出决定取决于更多因素。
例如,
关于php - "documents"和 "cores"在 SOLR 中是什么意思?我该如何使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464648/
我支持 Rails 项目,其中包含 Rails 应用程序和 Solr 的附加实例。 我的环境:rails 3.2.1、ruby 2.1.2、sunspot 2.1.0、Solr 4.1.6。 问题:
在 Solr 中添加和提交之间的根本区别是什么?我们已经阅读了几个文档,但现在仍然非常清楚它到底做了什么,以及何时使用 Add 和何时使用 Commit? 据我了解,Add 将数据添加到 solr 数
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
我们可以在 solr suggester 响应中添加上下文而不是上下文过滤吗? 我有 5 个不同的类别。每个类别都有不同的名称。我的建议者在名字上工作。我可以得到如下输出吗? { "term" :
在 solrconfig.xml 中,filterCache(或 queryResultCache 等)的 'autowarmCount' 表示当新的搜索者到来时将复制多少缓存实体。但是,如果我在 s
我们计划部署 Solr 来搜索从通用 CMS 平台发布的多个站点。 每种语言都有单独的网站,其他语言的内容主要是从英语翻译过来的。 搜索要求包括 – 关键字突出显示、建议(“你是什么意思?”)、停用词
我们有一个系统,使用户能够创建应用程序并在其应用程序上存储数据。我们希望将每个应用程序的索引分开。我们为每个应用程序创建一个核心,并在用户进行查询时搜索给定的应用程序。由于应用程序之间没有任何关系,因
我写了一个小型搜索引擎作为我的每周项目。它基于查询向量和文档向量之间的余弦相似度。向量是使用 tf-idf 标记的疮计算的。 我开始了解 Apache Solr,它是一个全文搜索引擎。我的问题是 so
为了索引我的网站,我有一个 Ruby 脚本,它反过来生成一个 shell 脚本,将我的文档根目录中的每个文件上传到 Solr。 shell 脚本有很多行,如下所示: curl -s \ "htt
是否可以分享Solr fieldType s 定义于 schema.xml多核之间? 我在 Solr 中有许多核心,发现自己正在重新定义 fieldType s 仅基于内置过滤器和分词器。例如
我想通过命令停止 solr 所以如果找到这篇文章 http://rc98.net/solrinit echo "Stopping Solr" cd $SOLR_DIR
我想用守护进程运行 solr。我在另一篇文章中看到有一个可以运行的 init.d 脚本,但它在我的 ubuntu 环境中似乎有问题。每当我尝试使用/etc/init.d/solr start 运行脚本
我有一个 solr 搜索返回上下文突出显示结果,显示网址和电子邮件,句点后带有空格 - 例如“www.google.com”或“email@google.com”无论如何要关闭它,以便它们正常显示?谢
我遇到了一个问题,其中一个列是多值的。例如:值可以是 (11,22) (11,33) (11,55) , (22,44) , (22,99) 我想执行一个分组操作,它将产生: 11 : 计数 3 22
这个问题在这里已经有了答案: How to select distinct field values using Solr? (6 个回答) 6年前关闭。 我有如下 solr 索引数据 7920
背景 使用 Solr 4.0.0。我已经索引了一组示例文档的文本并启用了术语向量,因此我可以使用快速向量突出显示 为了突出显示,我正在使用带有句子边界的 Break Iterator Boundar
题 我在哪里可以找到一个完整的示例,该示例展示了从索引文档到检索搜索结果的分层分面搜索是如何工作的? 我的研究到目前为止 Stackoverflow 有一些帖子,但它们都只针对分层分面搜索的某些方面;
我正在尝试开始使用 Apache Solr,但有些事情我不清楚。通读tutorial ,我已经设置了一个正在运行的 Solr 实例。我感到困惑的是 Solr 的所有配置(架构等)都是 XML 格式的。
我将以下文档存储在 Solr 中: doc { id: string; // this is a unique string that looks like an md5 result
我有一个关于在 solr 中创建嵌套字段的可能性的问题。 谷歌搜索告诉我一些关于组的信息,但我认为它只是为了结果? 我想要的是这样的结构: 类别1 项目 1 (9) 项目 2 (8) 类别2 项目 3
我是一名优秀的程序员,十分优秀!