开发者

Sphinx + Postgres + uuid issues

开发者 https://www.devze.com 2023-01-29 02:07 出处:网络
I have a sql_query for a source defined like so: sql_query= SELECT \\ criteria.item_uuid, \\ criteria.开发者_C百科user_id, \\

I have a sql_query for a source defined like so:

 sql_query               = SELECT \
  criteria.item_uuid, \
  criteria.开发者_C百科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

And then an index:

 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
 }

But when I run indexer --rotate csearch I get:

 indexing index 'csearch'...
 WARNING: zero/NULL document_id, skipping

The idea is that the item_uuid column is the identifier I want, based on some combination of the other columns. The item_uuid column is a uuid type in postgres: perhaps sphinx does not support this? Anyway, any ideas here would be greatly appreciated.


Read the docs, the document_id must be unique unsigned non-zero integers.

http://www.sphx.org/docs/manual-1.10.html#data-restrictions

You could try using SELECT row_number(), uuid, etc...

0

精彩评论

暂无评论...
验证码 换一张
取 消