Solr 索引

本节描述了索引过程:向 Solr 索引添加内容,并在必要时修改或删除该内容。

通过向索引添加内容,我们可以让 Solr 搜索到它。

Solr 索引可以接受来自许多不同来源的数据,包括 XML 文件、逗号分隔值 (CSV) 文件、从数据库表中提取的数据以及常见文件格式(如 Microsoft Word 或 PDF)中的文件。

以下是将数据加载到 Solr 索引中的三种最常见方法

  • 使用 Solr Cell 和 Apache Tika 进行索引,基于 Apache Tika 摄取二进制文件或结构化文件,例如 Office、Word、PDF 和其他专有格式。

  • 从任何可以生成此类请求的环境向 Solr 服务器发送 HTTP 请求来上传 XML 文件。

  • 编写一个自定义 Java 应用程序通过 Solr 的 Java 客户端 API(在 客户端 API 中有更详细的描述)摄取数据。如果你使用的是提供 Java API 的应用程序(如内容管理系统 (CMS)),那么使用 Java API 可能是最佳选择。

无论使用哪种方法摄取数据,都有一个用于输入到 Solr 索引中的数据的通用基本数据结构:包含多个字段文档,每个字段都有一个名称并包含内容(可能为空)。其中一个字段通常指定为唯一 ID 字段(类似于数据库中的主键),尽管 Solr 并不严格要求使用唯一 ID 字段。

如果字段名称在与索引关联的模式中定义,则与该字段关联的分析步骤将在对内容进行标记化时应用于其内容。未在模式中明确定义的字段将被忽略或映射到动态字段定义(如果存在与字段名称匹配的字段)。

Solr 示例目录

使用“ -e”选项启动 Solr 时,example/ 目录将用作所创建的示例 Solr 实例的基本目录。此目录还包括一个 example/exampledocs/ 子目录,其中包含各种格式的示例文档,您可以使用这些文档对索引编制到各个示例中进行试验。

用于传输文件的 curl 实用程序

本节中的许多说明和示例利用 curl 实用程序通过 URL 传输内容。curl 通过 HTTP、FTP 和许多其他协议发布和检索数据。大多数 Linux 发行版都包含 curl 的副本。您可以在 http://curl.haxx.se/download.html 上找到适用于 Linux、Windows 和许多其他操作系统的 curl 下载。curl 的文档可在此处获得:http://curl.haxx.se/docs/manpage.html

使用 curl 或其他命令行工具发布数据对于示例或测试来说很好,但它不是在生产环境中实现更新最佳性能的推荐方法。您将通过 Solr Cell 或本节中描述的其他方法获得更好的性能。

除了 curl,您还可以使用 GNU wget (http://www.gnu.org/software/wget/) 等实用程序或使用 Perl 管理 GET 和 POST,尽管命令行选项会有所不同。