全文检索主索引+增量索引方案
2012-05-28 21:52
288 查看
sphinx配置文件mkmfcm.conf如下:
View Code
索引更新方案有两种:
第一次创建全部索引: ./indexer -c /var/www/coreseek/mkmfcm.conf --all
运行检索监听程序:./searchd -c /var/www/coreseek/mkmfcm.conf
方案一:
每天凌晨3点合并索引:./indexer -c /var/www/coreseek/oseye.conf --merge question_main question_delta --rotate
每3分钟更新增量索引:./indexer -c /var/www/coreseek/oseye.conf question_delta --rotate
优缺点,合并非常快,但没办法更新索引最大值得,造成重复。
方案二:
每天凌晨3点重建主索引:./indexer -c /var/www/coreseek/oseye.conf question_main --rotate
每3分钟更新增量索引:./indexer -c /var/www/coreseek/oseye.conf question_delta --rotate
优缺点,速度慢,且有重复数据。
目前先采用方案二,继续探寻其他方式,编辑/etc/crontab增加shell如下:
重启cron:
#名可名非常名 主索引源 source mkmfcm_main { type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = mkmfcm sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(forum_id) FROM forum sql_query = SELECT forum_id as id, forum_title, forum_content FROM forum } #名可名非常名 增量索引源 source mkmfcm_delta : mkmfcm_main { sql_query_pre = SET NAMES utf8 sql_query = SELECT forum_id as id, forum_title, forum_content FROM forum \ WHERE forum_id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) } #名可名非常名 主索引 index question_main { source = mkmfcm_main #对应的source名称 path = /usr/local/coreseek/var/data/question_main docinfo = extern mlock = 0 morphology = none min_word_len = 2 html_strip = 0 charset_dictpath = /usr/local/mmseg/etc/ #BSD、Linux环境下设置,/符号结尾 charset_type = zh_cn.utf-8 } #名可名非常名 增量索引 index question_delta : question_main { source = mkmfcm_delta path = /usr/local/coreseek/var/data/question_delta } #全局索引配置 indexer { mem_limit = 128M } #searchd服务定义 searchd { listen = 9312 #listen = 9306:mysql41 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_mysql.pid log = /usr/local/coreseek/var/log/searchd_mysql.log query_log = /usr/local/coreseek/var/log/query_mysql.log binlog_path = #关闭binlog日志 }
View Code
索引更新方案有两种:
第一次创建全部索引: ./indexer -c /var/www/coreseek/mkmfcm.conf --all
运行检索监听程序:./searchd -c /var/www/coreseek/mkmfcm.conf
方案一:
每天凌晨3点合并索引:./indexer -c /var/www/coreseek/oseye.conf --merge question_main question_delta --rotate
每3分钟更新增量索引:./indexer -c /var/www/coreseek/oseye.conf question_delta --rotate
优缺点,合并非常快,但没办法更新索引最大值得,造成重复。
方案二:
每天凌晨3点重建主索引:./indexer -c /var/www/coreseek/oseye.conf question_main --rotate
每3分钟更新增量索引:./indexer -c /var/www/coreseek/oseye.conf question_delta --rotate
优缺点,速度慢,且有重复数据。
目前先采用方案二,继续探寻其他方式,编辑/etc/crontab增加shell如下:
* */3 * * * root cd /usr/local/coreseek/bin && ./indexer -c /var/www/coreseek/mkmfcm.conf question_main --rotate */3 * * * * root cd /usr/local/coreseek/bin && ./indexer -c /var/www/coreseek/mkmfcm.conf question_delta --rotate
重启cron:
/etc/init.d/cron restart
相关文章推荐
- coreseek全文检索如何配置增量索引
- sphinx+scws 全文检索使用之 sphinx配置增量索引及sphinx管理命令
- 索引 全文检索 深入简出
- sphinx增量索引方案
- 全文检索Lucene入门之创建索引及简单搜索
- Lucene全文检索样例(解决大文本建索引)
- 开源:完全自主研发搜索引擎,单机400万网页全文索引,任意检索不超过 20毫秒
- 【手把手教你全文检索】Lucene索引的【增、删、改、查】
- [全文索引]MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持。
- oracle 索引 。其中全文检索最变态
- 结合SQL Server全文检索对Word内容进行检索的三个方案
- 全文检索:倒排索引的理解
- SQL Server 2005全文检索技术在网站上的应用实录 索引
- 自主研发搜索引擎,单机500万网页全文索引,任意检索不超过 20毫秒 .
- 全文检索工具lucene 之索引创建方法
- Lucene的配置及创建索引全文检索
- 关于Sphinx创建全文检索的索引介绍
- Oracle全文检索建索引,存储过程,以及java方法调用高亮显示
- 在应用中加入全文检索功能——基于Java的全文索引引擎Lucene简介
- 全文检索方案讨论