Sphinx refuses to run without that parameter. Which given that it
wasn�t defined in the file they really should have set the default
appropriately and not whined at the user, but this is the version of
Sphinx currently in RHEL EPEL so there�s going to be a lot of
RHEL/CentOS users running into this problem.
I can’t replicate the compat_sphinxql_magics problems you report with a
stock Sphinx 2.0.8 from EPEL on CentOS 6. With a stock configuration as
provided by 4.2-trunk, indexer runs with no errors (see below). If it
refuses to run, please show your configuration file, the sphinx version,
and the actual error when running without compat_sphinxql_magics.
-bash-4.1# rm /opt/rt4/var/sphinx/*
-bash-4.1# indexer --config tmp.conf rt
Sphinx 2.0.8-id64-release (r3831)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file ‘tmp.conf’…
indexing index ‘rt’…
WARNING: Attribute count is 0: switching to none docinfo
collected 1 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 1 docs, 626 bytes
total 0.009 sec, 64073 bytes/sec, 102.35 docs/sec
total 2 reads, 0.000 sec, 0.3 kb/call avg, 0.0 msec/call avg
total 6 writes, 0.000 sec, 0.3 kb/call avg, 0.0 msec/call avg
-bash-4.1# cat tmp.conf
source rt {
type = mysql
sql_host = 127.0.0.1
sql_db = rt4
sql_user = root
sql_pass =
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT a.id, a.content FROM Attachments a \
JOIN Transactions txn ON a.TransactionId = txn.id AND
txn.ObjectType = ‘RT::Ticket’
JOIN Tickets t ON txn.ObjectId = t.id
WHERE a.ContentType = ‘text/plain’ AND t.Status != ‘deleted’
sql_query_info = SELECT * FROM Attachments WHERE id=$id
}
index rt {
source = rt
path = /opt/rt4/var/sphinx/index
docinfo = extern
charset_type = utf-8
}
indexer {
mem_limit = 32M
}
searchd {
port = 3312
log = /opt/rt4/var/sphinx/searchd.log
query_log = /opt/rt4/var/sphinx/query.log
read_timeout = 5
max_children = 30
pid_file = /opt/rt4/var/sphinx/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 0
unlink_old = 1
}