In my application search work on thinking sphinx (version 1.3.5) but
when I switch my version to 1.3.14 my search code gives me following
error.
using config file '/home/rahul/application/demo/config/
development.sphinx.conf'...
ERROR: section 'contact_core_0' (type='source') already exists in /
home/rahul/application/demo/config/development.sphinx.conf line 82 col
1.
FATAL: failed to parse config file '/home/rahul/application/demo/
config/development.sphinx.conf'
In account model I have specified,
define_index do
set_property :delta => true
indexes :name, :as => :account_name, :prefixes => true
indexes contacts.first_name, :as => :contact_first_name, :prefixes
=> true
indexes contacts.last_name, :as => :contact_last_name, :prefixes
=> true
indexes contacts.email, :as => :contact_email, :prefixes => true
has :id, :company_id
where "accounts.deleted_at is null "
end
In contact model,
define_index do
set_property :delta => true
indexes :first_name, :prefixes => true
indexes :last_name, :prefixes => true
indexes :email, :prefixes => true
indexes account.name, :as => :contact_account_name, :prefixes =>
true
has :id, :company_id, :status_type
has account(:id), :as => :contact_account_id
where "contacts.deleted_at is null"
end
Like this in many other models I am using contact and account index
for their respective search.
So how can I specify multiple index in version 1.3.14
Thanks & Regards,
Rahul P. Chaudhari
Are these two indexes the second indexes in each model? If so, they need an explicit name, like so
define_index 'account_extra' do
# ...
end
--
Pat
> --
>
> You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group.
> To post to this group, send email to thinkin...@googlegroups.com.
> To unsubscribe from this group, send email to thinking-sphi...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
>
>
In above case how I have to specify since I tried as per mine in many
ways but still problem persist.
Regards,
Rahul P. Chaudhari
Can you put into a gist all of your models that have sphinx indexes, so we can look through the code in a bit more detail?
Thanks
--
Pat
Following are my model on which I got an error
#################### Error #################
(in /home/rahul/application/demo)
Generating Configuration to /home/rahul/application/demo/config/
development.sphinx.conf
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff
using config file '/home/rahul/application/demo/config/
development.sphinx.conf'...
ERROR: section 'account_core_0' (type='source') already exists in /
home/rahul/application/demo/config/development.sphinx.conf line 78 col
1.
FATAL: failed to parse config file '/home/rahul/application/demo/
config/development.sphinx.conf'
##########################################
Account model
-----------------------
define_index do
set_property :delta => true
indexes :name, :as => :account_name, :prefixes => true
indexes contacts.first_name, :as => :contact_first_name, :prefixes
=> true
indexes contacts.last_name, :as => :contact_last_name, :prefixes
=> true
indexes contacts.email, :as => :contact_email, :prefixes => true
has :id, :company_id
where "accounts.deleted_at is null "
end
Contact model
-----------------------
define_index do
set_property :delta => true
indexes :first_name, :prefixes => true
indexes :last_name, :prefixes => true
indexes :email, :prefixes => true
indexes account.name, :as => :contact_account_name, :prefixes =>
true
has :id, :company_id, :status_type
has account(:id), :as => :contact_account_id
where "contacts.deleted_at is null"
end
Opportunity Model
-------------------------
define_index do
set_property :delta => true
indexes :name, :as => :opportunity_name, :prefixes => true
indexes contact.first_name, :as => :contact_first_name, :prefixes
=> true
indexes contact.last_name, :as => :contact_last_name, :prefixes =>
true
indexes contact.email, :as => :contact_email, :prefixes => true
indexes contact.account.name, :as
=> :opportunity_conatct_account_name, :prefixes => true
has :id, :company_id
where "opportunities.deleted_at is null"
end
What is the contents of your development.sphinx.conf file? Make sure you remove your database passwords before sending it to the list :)
Thanks
--
Pat
indexer
{
mem_limit = 1024M
}
searchd
{
address = 127.0.0.1
port = 3310
log = /home/rahul/application/demo/log/searchd.log
query_log = /home/rahul/application/demo/log/searchd.query.log
pid_file = /home/rahul/application/demo/log/searchd.development.pid
}
source matter_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "matters" SET "delta" = FALSE WHERE "delta" =
TRUE
sql_query = SELECT "matters"."id" * 6 + 0 AS "id" , "matters"."name"
AS "matter_name", "users"."first_name" AS "contact_first_name",
"users"."last_name" AS "contact_last_name", "matters"."id" AS
"sphinx_internal_id", 3077742169 AS "class_crc", '3077742169' AS
"subclass_crcs", 0 AS "sphinx_deleted", "matters"."id" AS "id",
"matters"."company_id" AS "company_id" FROM "matters" LEFT OUTER
JOIN "users" ON "users".id = "matters".employee_user_id WHERE
"matters"."id" >= $start AND "matters"."id" <= $end AND
"matters"."delta" = FALSE GROUP BY "matters"."id", "matters"."name",
"users"."first_name", "users"."last_name", "matters"."id",
"matters"."id", "matters"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "matters" WHERE "matters"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "matters" WHERE "id" = (($id - 0) /
6)
}
source matter_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "matters" SET "delta" = FALSE WHERE "delta" =
TRUE
sql_query = SELECT "matters"."id" * 6 + 0 AS "id" , "matters"."name"
AS "matter_name", "users"."first_name" AS "contact_first_name",
"users"."last_name" AS "contact_last_name", "matters"."id" AS
"sphinx_internal_id", 3077742169 AS "class_crc", '3077742169' AS
"subclass_crcs", 0 AS "sphinx_deleted", "matters"."id" AS "id",
"matters"."company_id" AS "company_id" FROM "matters" LEFT OUTER
JOIN "users" ON "users".id = "matters".employee_user_id WHERE
"matters"."id" >= $start AND "matters"."id" <= $end AND
"matters"."delta" = FALSE GROUP BY "matters"."id", "matters"."name",
"users"."first_name", "users"."last_name", "matters"."id",
"matters"."id", "matters"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "matters" WHERE "matters"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "matters" WHERE "id" = (($id - 0) /
6)
}
index matter_core
{
source = matter_core_0
source = matter_core_1
path = /home/rahul/application/demo/db/sphinx/development/
matter_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = matter_name, contact_first_name, contact_last_name,
matter_name, contact_first_name, contact_last_name
enable_star = 1
}
source matter_delta_0 : matter_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "matters"."id" * 6 + 0 AS "id" , "matters"."name"
AS "matter_name", "users"."first_name" AS "contact_first_name",
"users"."last_name" AS "contact_last_name", "matters"."id" AS
"sphinx_internal_id", 3077742169 AS "class_crc", '3077742169' AS
"subclass_crcs", 0 AS "sphinx_deleted", "matters"."id" AS "id",
"matters"."company_id" AS "company_id" FROM "matters" LEFT OUTER
JOIN "users" ON "users".id = "matters".employee_user_id WHERE
"matters"."id" >= $start AND "matters"."id" <= $end AND
"matters"."delta" = TRUE GROUP BY "matters"."id", "matters"."name",
"users"."first_name", "users"."last_name", "matters"."id",
"matters"."id", "matters"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "matters" WHERE "matters"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "matters" WHERE "id" = (($id - 0) /
6)
}
source matter_delta_1 : matter_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "matters"."id" * 6 + 0 AS "id" , "matters"."name"
AS "matter_name", "users"."first_name" AS "contact_first_name",
"users"."last_name" AS "contact_last_name", "matters"."id" AS
"sphinx_internal_id", 3077742169 AS "class_crc", '3077742169' AS
"subclass_crcs", 0 AS "sphinx_deleted", "matters"."id" AS "id",
"matters"."company_id" AS "company_id" FROM "matters" LEFT OUTER
JOIN "users" ON "users".id = "matters".employee_user_id WHERE
"matters"."id" >= $start AND "matters"."id" <= $end AND
"matters"."delta" = TRUE GROUP BY "matters"."id", "matters"."name",
"users"."first_name", "users"."last_name", "matters"."id",
"matters"."id", "matters"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "matters" WHERE "matters"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "matters" WHERE "id" = (($id - 0) /
6)
}
index matter_delta : matter_core
{
source = matter_delta_0
source = matter_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
matter_delta
}
index matter
{
type = distributed
local = matter_delta
local = matter_core
}
source account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "accounts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "accounts"."id" * 6 + 1 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = FALSE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 1) /
6)
}
source account_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "accounts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "accounts"."id" * 6 + 1 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = FALSE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 1) /
6)
}
index account_core
{
source = account_core_0
source = account_core_1
path = /home/rahul/application/demo/db/sphinx/development/
account_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = account_name, contact_first_name, contact_last_name,
contact_email, account_name, contact_first_name, contact_last_name,
contact_email
enable_star = 1
}
source account_delta_0 : account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "accounts"."id" * 6 + 1 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = TRUE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 1) /
6)
}
source account_delta_1 : account_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "accounts"."id" * 6 + 1 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = TRUE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 1) /
6)
}
index account_delta : account_core
{
source = account_delta_0
source = account_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
account_delta
}
index account
{
type = distributed
local = account_delta
local = account_core
}
source contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "contacts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "contacts"."id" * 6 + 2 AS "id" ,
"contacts"."first_name" AS "first_name", "contacts"."last_name" AS
"last_name", "contacts"."email" AS "email", "accounts"."name" AS
"contact_account_name", "contacts"."id" AS "sphinx_internal_id",
2212487076 AS "class_crc", '2212487076' AS "subclass_crcs", 0 AS
"sphinx_deleted", "contacts"."id" AS "id", "contacts"."company_id" AS
"company_id", "contacts"."status_type" AS "status_type",
"accounts"."id" AS "contact_account_id" FROM "contacts" LEFT OUTER
JOIN "account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"contacts"."id" >= $start AND "contacts"."id" <= $end AND
"contacts"."delta" = FALSE AND status_type in (select id from lookups
where (type='ProspectStatusType' or type = 'LeadStatusType') and
lvalue<>'Rejected') or contacts.deleted_at is null GROUP BY
"contacts"."id", "contacts"."first_name", "contacts"."last_name",
"contacts"."email", "accounts"."name", "contacts"."id",
"contacts"."id", "contacts"."company_id", "contacts"."status_type",
"accounts"."id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "contacts" WHERE "contacts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_uint = status_type
sql_attr_uint = contact_account_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 2) /
6)
}
source contact_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "contacts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "contacts"."id" * 6 + 2 AS "id" ,
"contacts"."first_name" AS "first_name", "contacts"."last_name" AS
"last_name", "contacts"."email" AS "email", "accounts"."name" AS
"contact_account_name", "contacts"."id" AS "sphinx_internal_id",
2212487076 AS "class_crc", '2212487076' AS "subclass_crcs", 0 AS
"sphinx_deleted", "contacts"."id" AS "id", "contacts"."company_id" AS
"company_id", "contacts"."status_type" AS "status_type",
"accounts"."id" AS "contact_account_id" FROM "contacts" LEFT OUTER
JOIN "account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"contacts"."id" >= $start AND "contacts"."id" <= $end AND
"contacts"."delta" = FALSE AND status_type in (select id from lookups
where (type='ProspectStatusType' or type = 'LeadStatusType') and
lvalue<>'Rejected') or contacts.deleted_at is null GROUP BY
"contacts"."id", "contacts"."first_name", "contacts"."last_name",
"contacts"."email", "accounts"."name", "contacts"."id",
"contacts"."id", "contacts"."company_id", "contacts"."status_type",
"accounts"."id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "contacts" WHERE "contacts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_uint = status_type
sql_attr_uint = contact_account_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 2) /
6)
}
index contact_core
{
source = contact_core_0
source = contact_core_1
path = /home/rahul/application/demo/db/sphinx/development/
contact_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = first_name, last_name, email, contact_account_name,
first_name, last_name, email, contact_account_name
enable_star = 1
}
source contact_delta_0 : contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "contacts"."id" * 6 + 2 AS "id" ,
"contacts"."first_name" AS "first_name", "contacts"."last_name" AS
"last_name", "contacts"."email" AS "email", "accounts"."name" AS
"contact_account_name", "contacts"."id" AS "sphinx_internal_id",
2212487076 AS "class_crc", '2212487076' AS "subclass_crcs", 0 AS
"sphinx_deleted", "contacts"."id" AS "id", "contacts"."company_id" AS
"company_id", "contacts"."status_type" AS "status_type",
"accounts"."id" AS "contact_account_id" FROM "contacts" LEFT OUTER
JOIN "account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"contacts"."id" >= $start AND "contacts"."id" <= $end AND
"contacts"."delta" = TRUE AND status_type in (select id from lookups
where (type='ProspectStatusType' or type = 'LeadStatusType') and
lvalue<>'Rejected') or contacts.deleted_at is null GROUP BY
"contacts"."id", "contacts"."first_name", "contacts"."last_name",
"contacts"."email", "accounts"."name", "contacts"."id",
"contacts"."id", "contacts"."company_id", "contacts"."status_type",
"accounts"."id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "contacts" WHERE "contacts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_uint = status_type
sql_attr_uint = contact_account_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 2) /
6)
}
source contact_delta_1 : contact_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "contacts"."id" * 6 + 2 AS "id" ,
"contacts"."first_name" AS "first_name", "contacts"."last_name" AS
"last_name", "contacts"."email" AS "email", "accounts"."name" AS
"contact_account_name", "contacts"."id" AS "sphinx_internal_id",
2212487076 AS "class_crc", '2212487076' AS "subclass_crcs", 0 AS
"sphinx_deleted", "contacts"."id" AS "id", "contacts"."company_id" AS
"company_id", "contacts"."status_type" AS "status_type",
"accounts"."id" AS "contact_account_id" FROM "contacts" LEFT OUTER
JOIN "account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"contacts"."id" >= $start AND "contacts"."id" <= $end AND
"contacts"."delta" = TRUE AND status_type in (select id from lookups
where (type='ProspectStatusType' or type = 'LeadStatusType') and
lvalue<>'Rejected') or contacts.deleted_at is null GROUP BY
"contacts"."id", "contacts"."first_name", "contacts"."last_name",
"contacts"."email", "accounts"."name", "contacts"."id",
"contacts"."id", "contacts"."company_id", "contacts"."status_type",
"accounts"."id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "contacts" WHERE "contacts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_uint = status_type
sql_attr_uint = contact_account_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 2) /
6)
}
index contact_delta : contact_core
{
source = contact_delta_0
source = contact_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
contact_delta
}
index contact
{
type = distributed
local = contact_delta
local = contact_core
}
source physical_crm_campaign_campaign_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "campaigns" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "campaigns"."id" * 6 + 3 AS "id" ,
"campaigns"."name" AS "campaign_name", "users"."first_name" AS
"contact_first_name", "users"."last_name" AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."first_name", '0')), '
') AS "contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
"campaigns"."starts_on" AS "campaign_start_date", "campaigns"."id" AS
"sphinx_internal_id", 2851254125 AS "class_crc", '2851254125' AS
"subclass_crcs", 0 AS "sphinx_deleted", "campaigns"."id" AS "id",
"campaigns"."company_id" AS "company_id" FROM "campaigns" LEFT
OUTER JOIN "users" ON "users".id =
"campaigns".owner_employee_user_id LEFT OUTER JOIN
"campaign_members" ON campaign_members.campaign_id = campaigns.id
LEFT OUTER JOIN "contacts" ON "contacts".id =
"campaign_members".contact_id WHERE "campaigns"."id" >= $start AND
"campaigns"."id" <= $end AND "campaigns"."delta" = FALSE AND
campaigns.deleted_at is null and campaign_members.deleted_at is null
GROUP BY "campaigns"."id", "campaigns"."name", "users"."first_name",
"users"."last_name", "campaigns"."starts_on", "campaigns"."id",
"campaigns"."id", "campaigns"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "campaigns" WHERE "campaigns"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "campaigns" WHERE "id" = (($id - 3) /
6)
}
source physical_crm_campaign_campaign_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "campaigns" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "campaigns"."id" * 6 + 3 AS "id" ,
"campaigns"."name" AS "campaign_name", "users"."first_name" AS
"contact_first_name", "users"."last_name" AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."first_name", '0')), '
') AS "contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
"campaigns"."starts_on" AS "campaign_start_date", "campaigns"."id" AS
"sphinx_internal_id", 2851254125 AS "class_crc", '2851254125' AS
"subclass_crcs", 0 AS "sphinx_deleted", "campaigns"."id" AS "id",
"campaigns"."company_id" AS "company_id" FROM "campaigns" LEFT
OUTER JOIN "users" ON "users".id =
"campaigns".owner_employee_user_id LEFT OUTER JOIN
"campaign_members" ON campaign_members.campaign_id = campaigns.id
LEFT OUTER JOIN "contacts" ON "contacts".id =
"campaign_members".contact_id WHERE "campaigns"."id" >= $start AND
"campaigns"."id" <= $end AND "campaigns"."delta" = FALSE AND
campaigns.deleted_at is null and campaign_members.deleted_at is null
GROUP BY "campaigns"."id", "campaigns"."name", "users"."first_name",
"users"."last_name", "campaigns"."starts_on", "campaigns"."id",
"campaigns"."id", "campaigns"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "campaigns" WHERE "campaigns"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "campaigns" WHERE "id" = (($id - 3) /
6)
}
index physical_crm_campaign_campaign_core
{
source = physical_crm_campaign_campaign_core_0
source = physical_crm_campaign_campaign_core_1
path = /home/rahul/application/demo/db/sphinx/development/
physical_crm_campaign_campaign_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = campaign_name, contact_first_name,
contact_last_name, contact_first_name, contact_last_name,
campaign_start_date, campaign_name, contact_first_name,
contact_last_name, contact_first_name, contact_last_name,
campaign_start_date
enable_star = 1
}
source physical_crm_campaign_campaign_delta_0 :
physical_crm_campaign_campaign_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "campaigns"."id" * 6 + 3 AS "id" ,
"campaigns"."name" AS "campaign_name", "users"."first_name" AS
"contact_first_name", "users"."last_name" AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."first_name", '0')), '
') AS "contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
"campaigns"."starts_on" AS "campaign_start_date", "campaigns"."id" AS
"sphinx_internal_id", 2851254125 AS "class_crc", '2851254125' AS
"subclass_crcs", 0 AS "sphinx_deleted", "campaigns"."id" AS "id",
"campaigns"."company_id" AS "company_id" FROM "campaigns" LEFT
OUTER JOIN "users" ON "users".id =
"campaigns".owner_employee_user_id LEFT OUTER JOIN
"campaign_members" ON campaign_members.campaign_id = campaigns.id
LEFT OUTER JOIN "contacts" ON "contacts".id =
"campaign_members".contact_id WHERE "campaigns"."id" >= $start AND
"campaigns"."id" <= $end AND "campaigns"."delta" = TRUE AND
campaigns.deleted_at is null and campaign_members.deleted_at is null
GROUP BY "campaigns"."id", "campaigns"."name", "users"."first_name",
"users"."last_name", "campaigns"."starts_on", "campaigns"."id",
"campaigns"."id", "campaigns"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "campaigns" WHERE "campaigns"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "campaigns" WHERE "id" = (($id - 3) /
6)
}
source physical_crm_campaign_campaign_delta_1 :
physical_crm_campaign_campaign_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "campaigns"."id" * 6 + 3 AS "id" ,
"campaigns"."name" AS "campaign_name", "users"."first_name" AS
"contact_first_name", "users"."last_name" AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."first_name", '0')), '
') AS "contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
"campaigns"."starts_on" AS "campaign_start_date", "campaigns"."id" AS
"sphinx_internal_id", 2851254125 AS "class_crc", '2851254125' AS
"subclass_crcs", 0 AS "sphinx_deleted", "campaigns"."id" AS "id",
"campaigns"."company_id" AS "company_id" FROM "campaigns" LEFT
OUTER JOIN "users" ON "users".id =
"campaigns".owner_employee_user_id LEFT OUTER JOIN
"campaign_members" ON campaign_members.campaign_id = campaigns.id
LEFT OUTER JOIN "contacts" ON "contacts".id =
"campaign_members".contact_id WHERE "campaigns"."id" >= $start AND
"campaigns"."id" <= $end AND "campaigns"."delta" = TRUE AND
campaigns.deleted_at is null and campaign_members.deleted_at is null
GROUP BY "campaigns"."id", "campaigns"."name", "users"."first_name",
"users"."last_name", "campaigns"."starts_on", "campaigns"."id",
"campaigns"."id", "campaigns"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "campaigns" WHERE "campaigns"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "campaigns" WHERE "id" = (($id - 3) /
6)
}
index physical_crm_campaign_campaign_delta :
physical_crm_campaign_campaign_core
{
source = physical_crm_campaign_campaign_delta_0
source = physical_crm_campaign_campaign_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
physical_crm_campaign_campaign_delta
}
index physical_crm_campaign_campaign
{
type = distributed
local = physical_crm_campaign_campaign_delta
local = physical_crm_campaign_campaign_core
}
source opportunity_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "opportunities" SET "delta" = FALSE WHERE
"delta" = TRUE
sql_query = SELECT "opportunities"."id" * 6 + 4 AS "id" ,
"opportunities"."name" AS "opportunity_name", "contacts"."first_name"
AS "contact_first_name", "contacts"."last_name" AS
"contact_last_name", "contacts"."email" AS "contact_email",
"accounts"."name" AS "opportunity_conatct_account_name",
"opportunities"."id" AS "sphinx_internal_id", 85281792 AS "class_crc",
'85281792' AS "subclass_crcs", 0 AS "sphinx_deleted",
"opportunities"."id" AS "id", "opportunities"."company_id" AS
"company_id" FROM "opportunities" LEFT OUTER JOIN "contacts" ON
"contacts".id = "opportunities".contact_id LEFT OUTER JOIN
"account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"opportunities"."id" >= $start AND "opportunities"."id" <= $end AND
"opportunities"."delta" = FALSE AND opportunities.deleted_at is null
GROUP BY "opportunities"."id", "opportunities"."name",
"contacts"."first_name", "contacts"."last_name", "contacts"."email",
"accounts"."name", "opportunities"."id", "opportunities"."id",
"opportunities"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "opportunities" WHERE "opportunities"."delta"
= FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "opportunities" WHERE "id" = (($id -
4) / 6)
}
source opportunity_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "opportunities" SET "delta" = FALSE WHERE
"delta" = TRUE
sql_query = SELECT "opportunities"."id" * 6 + 4 AS "id" ,
"opportunities"."name" AS "opportunity_name", "contacts"."first_name"
AS "contact_first_name", "contacts"."last_name" AS
"contact_last_name", "contacts"."email" AS "contact_email",
"accounts"."name" AS "opportunity_conatct_account_name",
"opportunities"."id" AS "sphinx_internal_id", 85281792 AS "class_crc",
'85281792' AS "subclass_crcs", 0 AS "sphinx_deleted",
"opportunities"."id" AS "id", "opportunities"."company_id" AS
"company_id" FROM "opportunities" LEFT OUTER JOIN "contacts" ON
"contacts".id = "opportunities".contact_id LEFT OUTER JOIN
"account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"opportunities"."id" >= $start AND "opportunities"."id" <= $end AND
"opportunities"."delta" = FALSE AND opportunities.deleted_at is null
GROUP BY "opportunities"."id", "opportunities"."name",
"contacts"."first_name", "contacts"."last_name", "contacts"."email",
"accounts"."name", "opportunities"."id", "opportunities"."id",
"opportunities"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "opportunities" WHERE "opportunities"."delta"
= FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "opportunities" WHERE "id" = (($id -
4) / 6)
}
index opportunity_core
{
source = opportunity_core_0
source = opportunity_core_1
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = opportunity_name, contact_first_name,
contact_last_name, contact_email, opportunity_conatct_account_name,
opportunity_name, contact_first_name, contact_last_name,
contact_email, opportunity_conatct_account_name
enable_star = 1
}
source opportunity_delta_0 : opportunity_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "opportunities"."id" * 6 + 4 AS "id" ,
"opportunities"."name" AS "opportunity_name", "contacts"."first_name"
AS "contact_first_name", "contacts"."last_name" AS
"contact_last_name", "contacts"."email" AS "contact_email",
"accounts"."name" AS "opportunity_conatct_account_name",
"opportunities"."id" AS "sphinx_internal_id", 85281792 AS "class_crc",
'85281792' AS "subclass_crcs", 0 AS "sphinx_deleted",
"opportunities"."id" AS "id", "opportunities"."company_id" AS
"company_id" FROM "opportunities" LEFT OUTER JOIN "contacts" ON
"contacts".id = "opportunities".contact_id LEFT OUTER JOIN
"account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"opportunities"."id" >= $start AND "opportunities"."id" <= $end AND
"opportunities"."delta" = TRUE AND opportunities.deleted_at is null
GROUP BY "opportunities"."id", "opportunities"."name",
"contacts"."first_name", "contacts"."last_name", "contacts"."email",
"accounts"."name", "opportunities"."id", "opportunities"."id",
"opportunities"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "opportunities" WHERE "opportunities"."delta"
= TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "opportunities" WHERE "id" = (($id -
4) / 6)
}
source opportunity_delta_1 : opportunity_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "opportunities"."id" * 6 + 4 AS "id" ,
"opportunities"."name" AS "opportunity_name", "contacts"."first_name"
AS "contact_first_name", "contacts"."last_name" AS
"contact_last_name", "contacts"."email" AS "contact_email",
"accounts"."name" AS "opportunity_conatct_account_name",
"opportunities"."id" AS "sphinx_internal_id", 85281792 AS "class_crc",
'85281792' AS "subclass_crcs", 0 AS "sphinx_deleted",
"opportunities"."id" AS "id", "opportunities"."company_id" AS
"company_id" FROM "opportunities" LEFT OUTER JOIN "contacts" ON
"contacts".id = "opportunities".contact_id LEFT OUTER JOIN
"account_contacts" ON ("contacts"."id" =
"account_contacts"."contact_id") LEFT OUTER JOIN "accounts" ON
("accounts"."id" = "account_contacts"."account_id") WHERE
"opportunities"."id" >= $start AND "opportunities"."id" <= $end AND
"opportunities"."delta" = TRUE AND opportunities.deleted_at is null
GROUP BY "opportunities"."id", "opportunities"."name",
"contacts"."first_name", "contacts"."last_name", "contacts"."email",
"accounts"."name", "opportunities"."id", "opportunities"."id",
"opportunities"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "opportunities" WHERE "opportunities"."delta"
= TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "opportunities" WHERE "id" = (($id -
4) / 6)
}
index opportunity_delta : opportunity_core
{
source = opportunity_delta_0
source = opportunity_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_delta
}
index opportunity
{
type = distributed
local = opportunity_delta
local = opportunity_core
}
source document_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "documents" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "documents"."id" * 6 + 5 AS "id" ,
"documents"."name" AS "document_name", "documents"."type" AS
"type_of_document", "documents"."author" AS "document_author",
"documents"."source" AS "source_of_document", "documents"."id" AS
"sphinx_internal_id", COALESCE(crc32(NULLIF("documents"."type",'')),
555739168::bigint) AS "class_crc", '555739168' AS "subclass_crcs", 0
AS "sphinx_deleted", "documents"."employee_user_id" AS
"employee_user_id", COALESCE("documents"."privilege", '') AS
"privilege", cast(extract(epoch from "documents"."created_at") as int)
AS "created_at", cast(extract(epoch from "documents"."updated_at") as
int) AS "updated_at", "document_homes"."access_rights" AS
"document_access_rights", "document_homes"."mapable_id" AS
"document_matter_id" FROM "documents" LEFT OUTER JOIN
"document_homes" ON "document_homes".id =
"documents".document_home_id WHERE "documents"."id" >= $start AND
"documents"."id" <= $end AND "documents"."delta" = FALSE AND
mapable_type = 'Matter' and documents.id in (select max(id) from
documents group by document_home_id) GROUP BY "documents"."id",
"documents"."name", "documents"."type", "documents"."author",
"documents"."source", "documents"."id",
"documents"."employee_user_id", "documents"."privilege",
"documents"."created_at", "documents"."updated_at",
"document_homes"."access_rights", "document_homes"."mapable_id",
"documents"."type"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "documents" WHERE "documents"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = employee_user_id
sql_attr_uint = document_access_rights
sql_attr_uint = document_matter_id
sql_attr_timestamp = created_at
sql_attr_timestamp = updated_at
sql_attr_str2ordinal = privilege
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "documents" WHERE "id" = (($id - 5) /
6)
}
source document_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "documents" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "documents"."id" * 6 + 5 AS "id" ,
"documents"."name" AS "document_name", "documents"."type" AS
"type_of_document", "documents"."author" AS "document_author",
"documents"."source" AS "source_of_document", "documents"."id" AS
"sphinx_internal_id", COALESCE(crc32(NULLIF("documents"."type",'')),
555739168::bigint) AS "class_crc", '555739168' AS "subclass_crcs", 0
AS "sphinx_deleted", "documents"."employee_user_id" AS
"employee_user_id", COALESCE("documents"."privilege", '') AS
"privilege", cast(extract(epoch from "documents"."created_at") as int)
AS "created_at", cast(extract(epoch from "documents"."updated_at") as
int) AS "updated_at", "document_homes"."access_rights" AS
"document_access_rights", "document_homes"."mapable_id" AS
"document_matter_id" FROM "documents" LEFT OUTER JOIN
"document_homes" ON "document_homes".id =
"documents".document_home_id WHERE "documents"."id" >= $start AND
"documents"."id" <= $end AND "documents"."delta" = FALSE AND
mapable_type = 'Matter' and documents.id in (select max(id) from
documents group by document_home_id) GROUP BY "documents"."id",
"documents"."name", "documents"."type", "documents"."author",
"documents"."source", "documents"."id",
"documents"."employee_user_id", "documents"."privilege",
"documents"."created_at", "documents"."updated_at",
"document_homes"."access_rights", "document_homes"."mapable_id",
"documents"."type"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "documents" WHERE "documents"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = employee_user_id
sql_attr_uint = document_access_rights
sql_attr_uint = document_matter_id
sql_attr_timestamp = created_at
sql_attr_timestamp = updated_at
sql_attr_str2ordinal = privilege
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "documents" WHERE "id" = (($id - 5) /
6)
}
index document_core
{
source = document_core_0
source = document_core_1
path = /home/rahul/application/demo/db/sphinx/development/
document_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = document_name, type_of_document, document_author,
source_of_document, document_name, type_of_document, document_author,
source_of_document
enable_star = 1
}
source document_delta_0 : document_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "documents"."id" * 6 + 5 AS "id" ,
"documents"."name" AS "document_name", "documents"."type" AS
"type_of_document", "documents"."author" AS "document_author",
"documents"."source" AS "source_of_document", "documents"."id" AS
"sphinx_internal_id", COALESCE(crc32(NULLIF("documents"."type",'')),
555739168::bigint) AS "class_crc", '555739168' AS "subclass_crcs", 0
AS "sphinx_deleted", "documents"."employee_user_id" AS
"employee_user_id", COALESCE("documents"."privilege", '') AS
"privilege", cast(extract(epoch from "documents"."created_at") as int)
AS "created_at", cast(extract(epoch from "documents"."updated_at") as
int) AS "updated_at", "document_homes"."access_rights" AS
"document_access_rights", "document_homes"."mapable_id" AS
"document_matter_id" FROM "documents" LEFT OUTER JOIN
"document_homes" ON "document_homes".id =
"documents".document_home_id WHERE "documents"."id" >= $start AND
"documents"."id" <= $end AND "documents"."delta" = TRUE AND
mapable_type = 'Matter' and documents.id in (select max(id) from
documents group by document_home_id) GROUP BY "documents"."id",
"documents"."name", "documents"."type", "documents"."author",
"documents"."source", "documents"."id",
"documents"."employee_user_id", "documents"."privilege",
"documents"."created_at", "documents"."updated_at",
"document_homes"."access_rights", "document_homes"."mapable_id",
"documents"."type"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "documents" WHERE "documents"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = employee_user_id
sql_attr_uint = document_access_rights
sql_attr_uint = document_matter_id
sql_attr_timestamp = created_at
sql_attr_timestamp = updated_at
sql_attr_str2ordinal = privilege
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "documents" WHERE "id" = (($id - 5) /
6)
}
source document_delta_1 : document_core_1
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "documents"."id" * 6 + 5 AS "id" ,
"documents"."name" AS "document_name", "documents"."type" AS
"type_of_document", "documents"."author" AS "document_author",
"documents"."source" AS "source_of_document", "documents"."id" AS
"sphinx_internal_id", COALESCE(crc32(NULLIF("documents"."type",'')),
555739168::bigint) AS "class_crc", '555739168' AS "subclass_crcs", 0
AS "sphinx_deleted", "documents"."employee_user_id" AS
"employee_user_id", COALESCE("documents"."privilege", '') AS
"privilege", cast(extract(epoch from "documents"."created_at") as int)
AS "created_at", cast(extract(epoch from "documents"."updated_at") as
int) AS "updated_at", "document_homes"."access_rights" AS
"document_access_rights", "document_homes"."mapable_id" AS
"document_matter_id" FROM "documents" LEFT OUTER JOIN
"document_homes" ON "document_homes".id =
"documents".document_home_id WHERE "documents"."id" >= $start AND
"documents"."id" <= $end AND "documents"."delta" = TRUE AND
mapable_type = 'Matter' and documents.id in (select max(id) from
documents group by document_home_id) GROUP BY "documents"."id",
"documents"."name", "documents"."type", "documents"."author",
"documents"."source", "documents"."id",
"documents"."employee_user_id", "documents"."privilege",
"documents"."created_at", "documents"."updated_at",
"document_homes"."access_rights", "document_homes"."mapable_id",
"documents"."type"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "documents" WHERE "documents"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = employee_user_id
sql_attr_uint = document_access_rights
sql_attr_uint = document_matter_id
sql_attr_timestamp = created_at
sql_attr_timestamp = updated_at
sql_attr_str2ordinal = privilege
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "documents" WHERE "id" = (($id - 5) /
6)
}
index document_delta : document_core
{
source = document_delta_0
source = document_delta_1
path = /home/rahul/application/demo/db/sphinx/development/
document_delta
}
index document
{
type = distributed
local = document_delta
local = document_core
This is correct file of version 1.3.14
indexer
{
mem_limit = 1024M
}
searchd
{
listen = 127.0.0.1:3310
log = /home/rahul/application/demo/log/searchd.log
query_log = /home/rahul/application/demo/log/searchd.query.log
pid_file = /home/rahul/application/demo/log/searchd.development.pid
}
source account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "accounts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "accounts"."id" * 6 + 0 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = FALSE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 0) /
6)
}
index account_core
{
source = account_core_0
path = /home/rahul/application/demo/db/sphinx/development/
account_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = account_name, contact_first_name, contact_last_name,
contact_email
enable_star = 1
}
source account_delta_0 : account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "accounts"."id" * 6 + 0 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = TRUE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 0) /
6)
}
index account_delta : account_core
{
source = account_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
account_delta
}
index account
{
type = distributed
local = account_delta
local = account_core
}
source account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "accounts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "accounts"."id" * 6 + 0 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = FALSE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = FALSE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 0) /
6)
}
index account_core
{
source = account_core_0
path = /home/rahul/application/demo/db/sphinx/development/
account_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = account_name, contact_first_name, contact_last_name,
contact_email
enable_star = 1
}
source account_delta_0 : account_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "accounts"."id" * 6 + 0 AS "id" ,
"accounts"."name" AS "account_name", array_to_string(array_accum
(COALESCE("contacts"."first_name", '0')), ' ') AS
"contact_first_name", array_to_string(array_accum(COALESCE
("contacts"."last_name", '0')), ' ') AS "contact_last_name",
array_to_string(array_accum(COALESCE("contacts"."email", '0')), ' ')
AS "contact_email", "accounts"."id" AS "sphinx_internal_id",
2995482424 AS "class_crc", '2995482424' AS "subclass_crcs", 0 AS
"sphinx_deleted", "accounts"."id" AS "id", "accounts"."company_id" AS
"company_id" FROM "accounts" LEFT OUTER JOIN "account_contacts" ON
("accounts"."id" = "account_contacts"."account_id") LEFT OUTER JOIN
"contacts" ON ("contacts"."id" = "account_contacts"."contact_id")
WHERE "accounts"."id" >= $start AND "accounts"."id" <= $end AND
"accounts"."delta" = TRUE AND accounts.deleted_at is null GROUP BY
"accounts"."id", "accounts"."name", "accounts"."id", "accounts"."id",
"accounts"."company_id"
sql_query_range = SELECT COALESCE(MIN("id"), 1::bigint), COALESCE(MAX
("id"), 1::bigint) FROM "accounts" WHERE "accounts"."delta" = TRUE
sql_attr_uint = sphinx_internal_id
sql_attr_uint = class_crc
sql_attr_uint = sphinx_deleted
sql_attr_uint = id
sql_attr_uint = company_id
sql_attr_multi = uint subclass_crcs from field
sql_query_info = SELECT * FROM "accounts" WHERE "id" = (($id - 0) /
6)
}
index account_delta : account_core
{
source = account_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
account_delta
}
index account
{
type = distributed
local = account_delta
local = account_core
}
source contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "contacts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "contacts"."id" * 6 + 1 AS "id" ,
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 1) /
6)
}
index contact_core
{
source = contact_core_0
path = /home/rahul/application/demo/db/sphinx/development/
contact_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = first_name, last_name, email, contact_account_name
enable_star = 1
}
source contact_delta_0 : contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "contacts"."id" * 6 + 1 AS "id" ,
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 1) /
6)
}
index contact_delta : contact_core
{
source = contact_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
contact_delta
}
index contact
{
type = distributed
local = contact_delta
local = contact_core
}
source contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre = UPDATE "contacts" SET "delta" = FALSE WHERE "delta"
= TRUE
sql_query = SELECT "contacts"."id" * 6 + 1 AS "id" ,
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 1) /
6)
}
index contact_core
{
source = contact_core_0
path = /home/rahul/application/demo/db/sphinx/development/
contact_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = first_name, last_name, email, contact_account_name
enable_star = 1
}
source contact_delta_0 : contact_core_0
{
type = pgsql
sql_host = 127.0.0.1
sql_user = *****
sql_pass = *****
sql_db = demo_dev_29122009
sql_query_pre =
sql_query = SELECT "contacts"."id" * 6 + 1 AS "id" ,
sql_query_info = SELECT * FROM "contacts" WHERE "id" = (($id - 1) /
6)
}
index contact_delta : contact_core
{
source = contact_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
contact_delta
}
index contact
{
type = distributed
local = contact_delta
local = contact_core
}
source opportunity_core_0
index opportunity_core
{
source = opportunity_core_0
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = opportunity_name, contact_first_name,
contact_last_name, contact_email, opportunity_conatct_account_name
enable_star = 1
}
index opportunity_delta : opportunity_core
{
source = opportunity_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_delta
}
index opportunity
{
type = distributed
local = opportunity_delta
local = opportunity_core
}
source opportunity_core_0
index opportunity_core
{
source = opportunity_core_0
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_core
morphology = none
min_word_len = 2
charset_type = utf-8
min_prefix_len = 2
prefix_fields = opportunity_name, contact_first_name,
contact_last_name, contact_email, opportunity_conatct_account_name
enable_star = 1
}
index opportunity_delta : opportunity_core
{
source = opportunity_delta_0
path = /home/rahul/application/demo/db/sphinx/development/
opportunity_delta
}
index opportunity
{
type = distributed
local = opportunity_delta
local = opportunity_core
}
> "accounts"."name" AS "account_name", array_to_string(array_accum ...
>
> read more »
In script/console, what's the output of the following:
ThinkingSphinx.context.indexed_models
--
Pat
Second file generated when I used version 1.3.14 and I sent you only
some part of file (Means contact, account and opportunity related
part)
As you asked, following is an output -
>> ThinkingSphinx.context.indexed_models
=> ["Account", "Contact", "Matter", "Opportunity",
"Physical::Crm::Campaign::Campaign"]
>>
> ...
>
> read more »
I tried as per mine but I not found any solution. Do you have any link
for such index or documentation about specifying multiple index?
Regards,
Rahul P. Chaudhari
> ...
>
> read more »
Sorry for the slow response, I'm travelling at the moment, which keeps life busier than usual.
Can you show me all the code in your Account model?
--
Pat
Sorry,
Here is my account model.
class Account < ActiveRecord::Base
belongs_to :assignee, :class_name => "User", :foreign_key
=> :assigned_to_employee_user_id
has_many :account_contacts
has_many :contacts, :through => :account_contacts, :uniq => true
has_many :tasks, :as => :asset, :dependent => :destroy, :order =>
'created_at DESC'
has_many :activities, :as => :subject, :order => 'created_at
DESC'
has_many :addresses, :dependent => :destroy
def update_delta_for_search
if !contacts.nil?
contacts.each { |cont|
cont.delta = true
cont.save(false)
}
end
end
define_index do
set_property :delta => true
indexes :name, :as => :account_name, :prefixes => true
indexes contacts.first_name, :as => :contact_first_name, :prefixes
=> true
indexes contacts.last_name, :as => :contact_last_name, :prefixes
=> true
indexes contacts.email, :as => :contact_email, :prefixes => true
has :id, :company_id
where "accounts.deleted_at is null "
end
sphinx_scope(:current_company) { |company_id|
{:with => {:company_id => company_id}}
}
end
> ...
>
> read more »
I'm still pretty lost as to why you're getting double listings of some models... what happens if you reduce your index definition right down to a single field?
define_index do
indexes name, :as => :account_name
end
If that works, then start adding things back in, field by field, option by option.
--
Pat