`
liu86th
  • 浏览: 120674 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[centos]coreseek配置模拟实时索引

 
阅读更多

[1] 有这么一种常见的情况:整个数据集非常大,以至于难于经常性的重建索引,但是每次新增的记录却相当地少。一个典型的例子是:一个论坛有1000000个已经归档的帖子,但每天只有1000个新帖子。

在这种情况下可以用所谓的“主索引+增量索引”(main+delta)模式来实现“近实时”的索引更新。

这种方法的基本思路是设置两个数据源和两个索引,对很少更新或根本不更新的数据建立主索引,而对新增文档建立增量索引。在上述例子中,那1000000个已经归档的帖子放在主索引中,而每天新增的1000个帖子则放在增量索引中。增量索引更新的频率可以非常快,而文档可以在出现几分种内就可以被检索到。

确定具体某一文档的分属那个索引的分类工作可以自动完成。一个可选的方案是,建立一个计数表,记录将文档集分成两部分的那个文档ID,而每次重新构建主索引时,这个表都会被更新。

 

[2] 第一步要先创建增量索引表sph_counter

CREATE TABLE sph_counter
(
    counter_id INTEGER PRIMARY KEY NOT NULL,
    max_doc_id INTEGER NOT NULL
);

 

[3] 第二步,修改配置文件

source src1{
        type 		= mysql
        sql_host 	= localhost
        sql_user 	= root
        sql_pass 	= 
        sql_db 		= test
        sql_port 	= 3306
        sql_query_pre 	= SET NAMES utf8
        sql_query 	= SELECT id,title,content,create_time FROM ps_news
        sql_attr_uint 	= id
        sql_attr_timestamp  = create_time
        sql_query_info_pre  = SET NAMES utf8
}

index src1{
        source = src1
        path 			= /usr/local/coreseek/var/data/src1/
        docinfo 		= extern
        mlock 			= 0
        morphology 		= none
        min_word_len 	        = 1
        html_strip 		= 0

        charset_type 		= zh_cn.utf-8
        charset_dictpath 	= /usr/local/mmseg3/etc/
        #charset-table 		= 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
        #ngram_len 			= 1
        #ngram_chars 		= U+3000..U+2FA1F
}

#global indexer
indexer
{
    mem_limit            = 128M
}

#searchd
searchd
{
    listen              = 9312
    read_timeout        = 5
    max_children        = 30
    max_matches         = 1000
    seamless_rotate     = 0
    preopen_indexes     = 0
    unlink_old		= 1
    pid_file		= /usr/local/coreseek/var/log/searchd_rtindex.pid
    log 		= /usr/local/coreseek/var/log/searchd_rindex.log       
    query_log 		= /usr/local/coreseek/var/log/query_rtindex.log
}

 

[3] 写3个脚本,让系统自动生成增量索引和合并索引和重建索引

#delta.sh文件
#!/bin/sh
/usr/local/coreseek/bin/indexer delta --rotate

#main.sh文件
#!/bin/sh
/usr/local/coreseek/bin/indexer --all --rotate

#merge.sh文件
#!/bin/sh
/usr/local/coreseek/bin/indexer --merge main delta --rotate --merge-dst-range deleted 0 0

 

[4] 写计划任务每隔一分钟执行一遍delta.sh,每五分钟执行一遍merge.sh,每天1:30执行main.sh

 

*/1 * * * * /bin/sh /usr/local/coreseek/sh/delta.sh
*/5 * * * * /bin/sh /usr/local/coreseek/sh/merge.sh
30 1 * * * /bin/sh /usr/loca/coreseek/sh/main.sh

 

分享到:
评论

相关推荐

    软件性能测试报告.pdf

    对Sphinx的各个功能模块进行了全面检查,如命令界面配置、数据源配置、索引创建、服务开启,以及API文件、属性值回显、Web界面显示等,测试结果显示大部分功能均达到预期,符合合格标准。 6. **性能测试** - **可...

    TensorRT加速的YOLOv5智能监控平台:多线程多任务并行处理,视频监控与录像回放一体化管理

    内容概要:本文详细介绍了如何使用TensorRT加速YOLOv5模型推理,并结合QT框架搭建一个多任务并行处理的智能监控平台。主要内容包括:YOLOv5与TensorRT的融合,通过将YOLOv5模型转换为ONNX格式并进一步转化为TensorRT引擎,从而大幅提升推理速度;QT框架的应用,利用其跨平台特性实现视频监控、录像回放、电子地图等多种功能;16路视频并行检测的具体实现,通过多线程机制和CUDA流的支持,确保系统的高效运行。此外,文章还探讨了模型热更新、网络流处理、日志记录等方面的优化措施。 适合人群:具备一定编程基础,尤其是熟悉C++、Python和深度学习框架的研究人员和技术开发人员。 使用场景及目标:适用于需要高效、智能监控解决方案的企业和个人开发者。主要目标是提高视频监控系统的效率和智能化水平,如安防监控、交通监测等领域。 其他说明:文中提供了大量代码示例,帮助读者更好地理解和应用所介绍的技术。同时强调了系统设计中的性能优化技巧,如内存管理和多线程调度等。

    JiYuTrainer

    反极域和远程机惨的好工具

    基于Matlab GUI界面的电子双缝衍射实验模拟:缝宽、间距、电压与距离的参数设置与电子数目影响研究

    内容概要:本文详细介绍了如何利用MATLAB的GUI界面模拟电子双缝衍射实验。通过创建自定义的GUI界面,用户可以输入缝宽a、双缝间距b、加速电压U、缝屏距离D以及电子数目n等参数,实时观察衍射图样的变化。文中不仅提供了详细的代码实现步骤,还解释了各个参数对衍射图样的具体影响,如缝宽a的变化会影响条纹宽度,加速电压U的变化会影响条纹间距等。此外,文章还讨论了一些特殊情况下(如缝间距过大)的非预期现象及其背后的物理原因。 适合人群:物理学专业学生、教师以及对量子力学感兴趣的科研工作者。 使用场景及目标:①作为教学辅助工具,帮助学生更直观地理解电子双缝衍射实验及其背后的物理原理;②作为一种研究手段,探索不同参数条件下电子双缝衍射的具体表现形式。 其他说明:作者提醒使用者不要将电子数目n设得过高以免造成程序运行缓慢,并指出了一些常见的错误配置可能导致的异常情况。同时,提供了一个GitHub链接供有兴趣的读者进一步探讨和改进。

    实训商业源码-qui-pure.v2.5-毕业设计.zip

    实训商业源码-qui-pure.v2.5-毕业设计.zip

    scratch少儿编程逻辑思维游戏源码-有弹性的…猫.zip

    scratch少儿编程逻辑思维游戏源码-有弹性的…猫.zip

    汇川H3U标准程序:三轴伺服定位与总线控制,模块分明,清晰案例示范,包含多种定位与点动操作

    内容概要:本文详细介绍了汇川H3U系列可编程控制器在多轴伺服定位控制方面的应用案例。文章分为三个主要部分:一是本体脉冲控制的三轴伺服定位,展示了通过梯形图实现脉冲输出控制轴运动的方法;二是总线控制的16轴汇川伺服定位,利用结构体数组管理和初始化多个轴的数据,实现了高效的总线通信;三是具体的功能实现,包括轴点动、回零、相对定位与绝对定位等功能的代码示例及其工作原理。此外,文中强调了模块化设计的重要性,通过合理的分层架构提高了系统的灵活性和稳定性。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对伺服控制系统感兴趣的初学者和有一定经验的研发人员。 使用场景及目标:适用于需要理解和掌握多轴伺服定位控制原理的实际工程项目中,旨在帮助读者深入理解汇川H3U控制器的工作机制,掌握具体的编程技巧,以便更好地应用于实际生产环境。 其他说明:文章不仅提供了详细的代码示例,还分享了许多宝贵的实践经验,如状态机的应用、异常处理机制等,这些都是提高程序可靠性的关键因素。

    【数字电路设计】二进制比较器原理与实现:基于74LS85芯片的多位数值比较系统构建及位数扩展方法探讨

    内容概要:本文详细介绍了二进制比较器的设计原理与实现方法。文章首先讲解了二进制比较器的基本概念,包括32位数字比较器的原理图绘制方法。文中提到可以使用二进制比较芯片(如74LS85)组合实现大于、等于、小于的功能,其中不等是通过大于和小于的或逻辑并归实现,大于则是芯片固有的功能,小于等于则是等于和小于的或逻辑并归。对于门电路合成,文章提到了使用74LS04D+08+86等元件组成一位二进制比较器,但指出位数增加会使逻辑变得复杂,不推荐自行合成。此外,还介绍了2位二进制比较器的工作原理,当高位不同时无需比较低位,只有当高位相同时才需要比较低位。最后,文章讨论了集成数值比较器74LS85的功能及其位数扩展方式,包括串联和并联两种扩展方法。 适合人群:具有一定的数字电路基础,对二进制比较器感兴趣的电子工程学生或工程师。 使用场景及目标:①理解二进制比较器的基本原理和工作方式;②掌握二进制比较器的硬件实现方法,特别是如何利用现有芯片构建多位比较器;③学习如何通过逻辑门电路实现简单的二进制比较功能。 阅读建议:读者在学习过程中应结合实际电路图和逻辑表达式进行理解和验证,特别是对于不同位数的二进制比较器,可以通过实际搭建电路来加深理解。

    实训商业源码-昂图文10.2.20 公众号版-毕业设计.zip

    实训商业源码-昂图文10.2.20 公众号版-毕业设计.zip

    【SAR图像变化检测】多阶多水平连接异质图SAR图像变化检测【含Matlab源码 4669期】.md

    【实用脚本工具】相关内容与技巧的【VIP资源】,包

    scratch少儿编程逻辑思维游戏源码-宇宙幽灵 Boss 之战.zip

    scratch少儿编程逻辑思维游戏源码-宇宙幽灵 Boss 之战.zip

    基于S7-200 PLC与组态王技术的机械手搬运控制系统详解:梯形图程序、接线图与组态画面全解析

    内容概要:本文详细介绍了基于西门子S7-200 PLC和组态王的机械手搬运控制系统的实现方案。首先,文章展示了梯形图程序的关键逻辑,如急停连锁保护、水平移动互锁以及定时器的应用。接着,详细解释了IO分配的具体配置,包括数字输入、数字输出和模拟量接口的功能划分。此外,还讨论了接线图的设计注意事项,强调了电磁阀供电和继电器隔离的重要性。组态王的画面设计部分涵盖了三层画面结构(总览页、参数页、调试页)及其动画脚本的编写。最后,分享了调试过程中遇到的问题及解决方案,如传感器抖动、输出互锁设计等。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是对PLC编程和组态软件有一定基础的读者。 使用场景及目标:适用于自动化生产线中机械手搬运控制系统的开发与调试。目标是帮助读者掌握从硬件接线到软件逻辑的完整实现过程,提高系统的稳定性和可靠性。 其他说明:文中提供了大量实践经验,包括常见的错误和解决方案,有助于读者在实际工作中少走弯路。

    MATLAB声发射波形分析:计算基本与特征参数并绘制单边振幅谱

    内容概要:本文详细介绍了如何使用MATLAB对声发射波形进行参数计算和单边振幅谱绘制。主要内容涵盖声发射波形的基本参数(如峰值振幅、上升时间和持续时间)、特征参数(如均方根振幅和能量)的计算方法,以及通过快速傅里叶变换(FFT)绘制单边振幅谱的具体步骤。文中提供了详细的MATLAB代码示例,帮助读者理解和实现这些操作。 适合人群:从事材料科学、无损检测等相关领域的研究人员和技术人员,尤其是有一定MATLAB基础的用户。 使用场景及目标:适用于需要对声发射信号进行深入分析的研究项目,旨在提高对声发射事件的理解和诊断能力。具体应用场景包括但不限于材料疲劳测试、结构健康监测等。 其他说明:文中还提到了一些实用技巧,如处理复数信号、使用窗函数减少频谱泄漏、去除直流分量等,有助于提升数据分析的准确性。此外,建议将整个分析流程封装成函数以便于重复使用。

    scratch少儿编程逻辑思维游戏源码-寻觅故事者.zip

    scratch少儿编程逻辑思维游戏源码-寻觅故事者.zip

    scratch少儿编程逻辑思维游戏源码-希望奔跑.zip

    scratch少儿编程逻辑思维游戏源码-希望奔跑.zip

    三相交流调压技术:探究触发角变化与带中性线桥式半控整流电路仿真中的波形差异

    内容概要:本文深入探讨了单相和三相交流调压技术,详细介绍了这两种技术的工作原理、应用场景以及波形变化规律。首先,文章解释了单相交流调压的基本概念,即通过对单一相位的交流电进行触发角调整来实现电压调节。接着,重点讨论了三相交流调压的特点,特别是在带有中性线的情况下,它能提供更稳定的参考点并支持复杂的工业应用。此外,文中还涉及了桥式半控整流电路的仿真实验,展示了不同触发角和负载条件下的波形变化情况。最后,文章展望了未来交流调压技术面临的挑战和发展机遇。 适合人群:从事电力电子相关行业的技术人员、研究人员及高校师生。 使用场景及目标:帮助读者深入了解单相和三相交流调压技术的具体实现方式,掌握波形变化规律,提升实际操作能力。 其他说明:文章结合理论与实践,既包含了基础知识介绍又涵盖了最新的研究成果和技术趋势。

    实训商业源码-【超人】商家联盟 3.2.2-毕业设计.zip

    实训商业源码-【超人】商家联盟 3.2.2-毕业设计.zip

    (Go)golang语言,window系统下安装go1.23.8语言包安装包

    Go语言,通常被称为Golang,是由Google开发的一种静态类型的、编译式的、并发型且具有垃圾回收功能的编程语言。它的设计目标是提高开发者的生产力和程序的运行效率,特别适合构建网络服务和分布式系统。在Windows操作系统下,安装Golang开发环境需要下载相应的安装包。这里提供的"Go开发工具,golang IDE安装包,windows系统下"包含了Golang的集成开发环境(IDE)——Goland以及相关的使用说明。 Goland是一款由JetBrains公司推出的专门针对Go语言的高效开发工具,它为Go开发者提供了强大的代码补全、调试、重构和代码审查等功能。Goland-2018.3.exe是该IDE的一个特定版本,可能包含了2018年第三季度的一些更新和改进,用户可以通过执行这个可执行文件来安装Goland。 在安装过程中,用户通常需要选择安装路径,确认是否添加到PATH环境变量,以便在命令行中直接使用go命令。安装完成后,Goland会自动检测并配置Go的编译环境,包括设置GOROOT(Go语言的安装目录)和GOPATH(工作区路径),这对于新手来说是非常方便的。 同时,压缩包中的"golang说明.txt"文件很可能是对如何使用Golang进行开发,以及如何操作Goland IDE的基本指导。这份文件可能涵盖了如何创建新项目、设置Go环境变量、使用内置的包管理器go mod、运行和调试程序等内容。对于初学者来说,这是理解并快速上手Go语言开发的重要参考资料。 在使用Golang进行开发时,有几个关键概念是需要了解的: 1. **GOPATH**:在早期版本中,GOPATH是存放项目源码、编译后的对象文件和第三方包的地方。从Go 1.11版本开始,引入了go modules,但理解GOPATH仍然有助于理解Go的工作方式。 2. **Go Mod

    scratch少儿编程逻辑思维游戏源码-西利斯通城堡.zip

    scratch少儿编程逻辑思维游戏源码-西利斯通城堡.zip

    西门子PLC1200博途V16程序详解:制药厂生物发酵系统工艺案例——涉及报警、模拟量处理、温度PID及数字量控制等自动化技术 注:电气控制原理图辅助参考,博图版本需V15.1及以上打开。

    内容概要:本文详细介绍了西门子PLC1200博途V16在制药厂生物发酵系统中的应用,涵盖硬件组态、报警功能、模拟量标定、温度PID控制以及称重仪表USS通讯等方面。硬件方面,采用ET200SP模块进行分布式I/O控制,称重仪表通过USS协议与PLC通信。软件方面,通过OB组织块、自定义数据块和函数块实现报警管理、模拟量处理、PID控制等功能。文中还提供了具体的代码示例,展示了如何处理报警、标定模拟量、实现PID控制和USS通讯。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对西门子PLC编程有一定基础的人群。 使用场景及目标:适用于制药厂生物发酵系统的自动化控制项目,帮助工程师理解和掌握PLC编程技巧,提高系统的稳定性和可靠性。具体应用场景包括但不限于:报警管理、模拟量处理、温度控制和称重仪表通讯等。 其他说明:本文不仅提供了详细的代码示例,还分享了许多实际工程中的经验和技巧,如PID参数调整、USS通讯调试、硬件组态注意事项等。对于初学者来说,这是一个很好的学习资料,能够帮助他们在实践中快速成长。

Global site tag (gtag.js) - Google Analytics