Sphinx全文检索引擎使用指南:indexer程序配置选项

8.3.1. mem_limit

索引过程内存使用限制。可选选项,默认 32M。

这是indexer不会超越的强制内存限制。可以以字节、千字节(以K为后缀)或兆字节(以 M为后缀)为单位。参见示例。当过小的值导致 I/O缓冲低于 8KB时该限制会自动提高,此值的最低限度依赖于待索引数据的大小。如果缓冲低于 256KB,会产生警告。

最大可能的限制是2047M。太低的值会影响索引速度,但256M到">1024M对绝大多数数据集(如果不是全部)来说应该足够了。这个值设得太高可能导致 SQL服务器连接超时。在文档收集阶段,有时内存缓冲的一部分会被排序,而与数据库的通信会暂停,于是数据库服务器可能超时。这可以通过提高SQL服务器端的超时时间或降低mem_limit来解决。

示例:

mem_limit = 256M

# mem_limit = 262144K # same, but in KB

# mem_limit = 268435456 # same, but in bytes

8.3.2. max_iops

每秒最大I/O操作次数,用于限制I/O操作。可选选项,默认为0(无限制)。与I/O节流有关的选项。它限制了每秒钟最大的I/O操作(读或写)的次数。值0意思是不加限制。

indexer在索引时可能导致突发的密集磁盘 I/O,因此需要限制它磁盘活动(给同一台机器上运行的其他程序留出一些资源,比如searchd)。I/O节流就是用来实现上述功能的。它的工作原理是,在indexer的连续磁盘 I/O操作之间强制增加一个保证的延迟。现代SATA硬盘每秒钟可以执行多达 70-100以上次的I/O操作(主要受磁头寻道时间的限制)。将索引I/O限制为上述数值的几分之一可以减轻由索引带来的搜索性能下降。

示例:

max_iops = 40

8.3.3. max_iosize

最大允许的I/O操作大小,以字节为单位,用于 I/O节流。可选选项,默认为0(不限制)。

与I/O节流有关的选项。它限制indexer文件I/O操作的单次最大大小。值0代表不加限制。超过限制的读写操作会被分成几个小的操作,并被 max_iops 计为多次。在本文写作时,全部 I/O操作都被限制在256KB以下(默认的内部缓冲大小),因此大于 256KB的max_iosize值没有任何作用。

示例:

max_iosize = 1048576

时间: 2024-10-14 08:04:53

Sphinx全文检索引擎使用指南:indexer程序配置选项的相关文章

Sphinx全文检索引擎使用指南:索引配置选项

8.2.1. type 索引类型.可选选项,默认值为空(索引为简单本地索引).可用的值包括空字符串或 "distributed" Sphinx支持两种不同的索引类型:本地--在本机上存储和处理,和远程--不仅涉及http://www.aliyun.com/zixun/aggregation/20263.html">本地搜索,而且同时通过网络向远程searchd实力做查询.索引类似选项使您可以选择使用何种索引.索引默认是本地型.指定"distributed&qu

Sphinx全文检索引擎使用指南:简介

1.1.什么是Sphinx Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权. 一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速.低空间占用.高结果相关度的全文搜索功能.Sphinx可以非常容易的与SQL数据库和脚本语言集成. 当前系统内置MySQL和PostgreSQL数据库数据源的支持,也支持从标准输入读取特定格式的XML数据.通过修改源代码,用户可以自行增加新的数

Sphinx全文检索引擎使用指南:sphinx.conf选项参考

8.1.数据源配置选项 8.1.1. type 数据源类型.必须选项,无默认值.已知的类型包括 mysql,pgsql,xmlpipe和xmlpipe2. 所有其他与数据源相关的选项都依赖于这个选项指定的源类型.与SQL数据源(即 MySQL和PostgreSQL)相关的选项以"sql_"开头,而与xmlpipe和xmlpipe2数据源相关的选项则以 "xmlpipe_"开头. 示例: type = mysql 8.1.2. sql_host 要连接的SQL服务器主

Sphinx全文检索引擎使用指南:searchd程序配置选项

8.4.1. address 要绑定的接口 IP地址.可选项,默认为0.0.0.0(即在所有接口上监听). 此设置指定searchd在哪个接口上绑定.监听和接受输入的http://www.aliyun.com/zixun/aggregation/184.5.html">网络连接.默认值为0.0.0.0,意思是在所有接口上监听.目前不能指定多个接口. 示例: address = 192.168.0.1 8.4.2. port searchd的TCP端口号.必选项,默认为3312. 示例: p

Sphinx全文检索引擎使用指南:安装

2.1.支持的操作系统 在绝大多数现代的Unix类操作系统上,只需要一个C++编译器就可以编译并运行Sphinx,而不需要对源码进行任何改动. 目前,Sphinx可以在以下系统上运行: ? Linux 2.4.x, 2.6.x (包括各种发行版) ? Windows 2000, XP ? FreeBSD 4.x, 5.x, 6.x ? NetBSD 1.6, 3.0 ? Solaris 9, 11 ? Mac OS X 支持的CPU种类包括 X86, X86-64, SPARC64. 我希望Sp

Sphinx全文检索引擎使用指南:MySQL存储引擎

6.1. SphinxSE概览 SphinxSE是一个可以编译进 MySQL 5.x版本的MySQL存储引擎,它利用了该版本MySQL的插件式体系结构.SphinxSE不能用于 MySQL 4.x系列,它需要MySQL 5.0.22或更高版本:或 MySQL 5.1.12或更高版本. 尽管被称作"存储引擎",SphinxSE自身其实并不存储任何数据.它其实是一个允许 MySQL服务器与searchd交互并获取搜索结果的嵌入式客户端.所有的索引和搜索都发生在 MySQL之外. 显然,Sp

Sphinx全文检索引擎使用指南:建立索引

3.1.数据源 索引的数据可以来自各种各样不同的来源:SQL数据库.纯文本.HTML文件.邮件等等.从Sphinx的视角看,索引数据是一个结构化的文档的集合,其中每个文档是字段的集合,这和SQL数据库的视角有所不同,在那里,每一行代表一个文档,每一列代表一个字段. 由于数据来源的不同,需要不同的代码来获取数据.处理数据以供Sphinx进行索引的建立.这种代码被称之为数据源驱动程序(简称:驱动或数据源). 在本文撰写时,Sphinx中包括 MySQL和PostgreSQL数据源的驱动程序,这些驱动

Sphinx全文检索引擎使用指南:报告bugs

很不幸,Sphinx还没有达到100%无 bug(尽管我们正向这个目标努力),因此您可能偶尔遇到些问题. 对于每个问题的报告越详细越好,这很重要--因为要想修复 bug,我们必须重现 bug并调试它,或者根据您提供的信息来推断出产生bug的原因.因此在此提供一些如何报告bug的指导. 构建时问题 如果Sphinx构建失败,请您: 1. 确认你的DBMS的头文件和库文件都正确安装了(例如,检查mysql-devel包已经安装) 2. 报告Sphinx的版本和配置文件(别忘了删除数据库连接密码),M

Sphinx全文检索引擎使用指南:API参考

Sphnix有几种不同编程语言的searchd客户端 API的实现.在本文完成之时,我们对我们自己的PHP,Python和java实现提供官方支持.此外,也有一些针对 Perl,http://www.aliyun.com/zixun/aggregation/13430.html">Ruby和C++++的第三方免费.开源API实现. API的参考实现是用PHP写成的,因为(我们相信)较之其他语言,Sphinx在PHP中应用最广泛.因此这份参考文档基于 PHP API的参考,而且这节中的所有的