【问题标题】:Delta index updates not automatic增量索引更新不是自动的
【发布时间】:2019-09-20 02:20:35
【问题描述】:

不幸的是,我认为错误不是让他自动更新了delta

我在“数据库”中有这个表添加

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


source database
{
type            = mysql

sql_host        = localhost
sql_user        = root  
sql_pass        = root
sql_db          = database
sql_port        = 3306  # optional, default is 3306

sql_query       = \
    SELECT ID, name, dir, UNIX_TIMESTAMP(ctime) AS ctime, \
    FROM database

sql_field_string = dir
sql_field_string = name

}

source delta : database
{
sql_range_step  = 2
sql_query_pre = SET NAMES utf8
sql_query = SELECT id, title, body FROM documents \
    WHERE id>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 )
sql_query_pre = REPLACE INTO sph_counter_rls SELECT 1, MAX(ID) FROM `database`
}

index delta : database
{
source = database
path = /home/data/delta
}

index database 
{ 
source          = database 
path            = /home/data/database
docinfo         = extern 
#charset_type       = sbcs 
morphology          = none 
stopwords           = 
# minimum indexed word length 
# default is 1 (index everything) 
min_word_len        = 1 
charset_table       = 0..9, A..Z->a..z, a..z, -, U+0028, U+0029 
#enable_star        = 1 
min_prefix_len      = 0 
min_infix_len       = 2 
ngram_len       = 0 
}

编辑:我有 addet : index delta ...

索引器--全部 狮身人面像 2.2.11-id64-release (95ae9a6) 版权所有 (c) 2001-2016,Andrew Aksyonoff 版权所有 (c) 2008-2016,Sphinx Technologies Inc (http://sphinxsearch.com)

使用配置文件'/etc/sphinxsearch/sphinx.conf'... 索引索引“数据库”... 收集了 100 个文档,0.0 MB 排序 0.0 Mhits,100.0% 完成 总共 100 个文档,8982 字节 总计 0.078 秒,114887 字节/秒,1279.08 文档/秒 索引索引'delta'... 收集了 100 个文档,0.0 MB 排序 0.0 Mhits,100.0% 完成 总共 100 个文档,8982 字节 总计 0.063 秒,140585 字节/秒,1565.19 文档/秒 总共 212 次读取,0.000 秒,0.3 kb/调用平均值,0.0 毫秒/调用平均值 总共 24 次写入,0.000 秒,6.3 kb/调用平均值,0.0 毫秒/调用平均值

【问题讨论】:

  • 嗨。那么问题是什么?你是什​​么“索引器”命令和时间表?你有这方面的 crontasks 吗?
  • 我有 indexer --all 创建的索引,并且到目前为止认为这个配置会自动更新。玉米片是必要的吗?是的时候,怎么做?我不想完成新的索引制作

标签: mysql sphinx


【解决方案1】:

您根本无法构建“增量”索引,因为它没有在配置中定义。仅定义了 'delta' SOURCE。而且只有 INDEX - 使用源“数据库”而不是“增量”的数据库

【讨论】:

  • 我有 addet index delta : database { source = database path = /home/data/delta },我必须在每次插入后运行 indexer --merge databse delta --rotate 吗?
  • 这取决于很多事情。在大多数情况下,您只需更新较大的索引,比如说每天一次,而您的 delta 索引 - 每分钟一次,因此您有 2 个 crontask:'indexer --all --rotate - for main+delta' 和 'indexer delta --rotate '。但是如果完全重建更大的索引需要很长时间,你可以使用'indexer --merge'。我还建议您阅读有关杀戮列表和实时索引的信息。
  • 我是否理解正确,一分钟前我制作了“indexer --merge database delta --rotate”和“indexer delta --rotate”?哪个第一个重要吗?问候
  • 实时配置会是什么样子?
  • 你首先需要做'indexer delta'(如果你正在运行的searchd使用--rotate,否则不使用--rotate)来更新增量索引,然后使用'indexer - -合并...--旋转'。顺序很重要,就好像您先执行“indexer --merge”一样,它将合并您较旧的“delta”索引。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多