对于像这样定义的来源,我有一个sql_query
:
sql_query = SELECT \
criteria.item_uuid, \
criteria.user_id, \
criteria.color, \
criteria.selection, \
criteria.item_id, \
home.state, \
item.* \
FROM criteria \
INNER JOIN item USING (item_uuid) \
INNER JOIN user_info home USING (user_id) \
WHERE criteria.item_uuid IS NOT NULL
然后是一个索引:
index csearch {
source = csearch
path = /usr/local/sphinx/var/data/csearch
docinfo = extern
enable_star = 1
min_prefix_len = 0
min_infix_len = 0
morphology = stem_en
}
但是当我跑indexer --rotate csearch
时,我得到了:
indexing index 'csearch'...
WARNING: zero/NULL document_id, skipping
我们的想法是item_uuid
列是我想要的标识符,基于其他列的某些组合。 item_uuid
列是postgres中的uuid类型:也许sphinx不支持这个?无论如何,这里的任何想法将不胜感激。
答案 0 :(得分:1)
阅读文档,document_id必须是唯一的无符号非零整数。
http://www.sphx.org/docs/manual-1.10.html#data-restrictions
您可以尝试使用SELECT row_number(),uuid等...