Firstly: the reason the multiplication exists is to ensure Sphinx has completely unique ids across all documents.
That said, the problem's still annoying - but 987074798 * 3 is larger than the maximum for a *signed* integer, so I'm wondering if that's the problem. Can you provide the error output, just so it's clear whether it's Sphinx or PostgreSQL that's causing the problem? -- Pat On 05/08/2009, at 11:23 AM, uros wrote: > > I'm having the same problem and don't know how to get over it. I'm > using sphinx with postgres on windows. > > My problem is a model, that has id '987074798' and higher. Currently > I'm not using any fixtures, but I did in the past, so that probably > the cause for high values in ps sequences for primary keys in most > tables. > > Anyway, the funny thing is if I index only this model, then index is > built correctly. But if I index several models, it fails building > index for this model with the following message: > ERROR: index 'section_core': sql_range_query: ERROR: integer out of > range > > After looking at the generated *.sphinx.conf, I think that problem > might be in recalculations of the ID field in the sql_query setting: > 'SELECT "sections"."id" * 3 + 1 AS "id" > It seems as this multiplication by 3 is causing the problem, because > when I index only problematic model, I get no errors and index is > built. Altough it is strange because calculated value (987074798 *3) > doesn't exceed 4 bytes for uint. > > I must say I'm new to TS in sphinx itself, so any help would be > appreciated! > > > On Jul 30, 7:56 pm, David <[email protected]> wrote: >> Thanks for the reply Pat. >> >> I finally figured out what's going on. And I think I have a few extra >> gray hairs now too! >> >> Apparently, rails migrations use a column type of "serial" in >> postgres >> for table ids. These serial fields are 4 bytes (ergo they go from 1 >> to >> 2147483647). However, loading fixtures picks random numbers like >> 541702176 which is much bigger than 4 bytes and which is why sphinx's >> indexer was flipping out. >> >> I guess the solution would be to either A) use a bigger column type >> or >> B) don't use fixtures in production (or if you must, give your >> fixtures an id). >> >> I hope that helps anyone else with the same problem that searches >> google. >> >> On Jul 29, 4:57 am, Pat Allan <[email protected]> wrote: >> >>> Yeah, it was the first problem that out-of-the-ordinary... although >>> I'm surprised the id causing the problem was so small (it's not >>> anywhere close to hitting the maximum value of a 32-bit integer). >>> Still, using normal ids is definitely the best way to go. >> >>> Good to know you've got it all sorted. >> >>> -- >>> Pat >> >>> On 28/07/2009, at 6:44 PM, David wrote: >> >>>> I actually solved the hanging problem. I properly indexed my >>>> tables. >> >>>> I also can solve the first problem by changing the ids to >>>> reasonable >>>> numbers. Setting "sql_range_step: 10000000" does not seem to >>>> solve the >>>> problem. >> >>>> The id in question is 541702176. >> >>>> Thanks. >> >>>> On Jul 28, 9:46 am, David <[email protected]> wrote: >>>>> Hi guys, >> >>>>> I guess this is not really a thinking sphinx problem but I am >>>>> having >>>>> sometroubleindexing my tables (when I run "rake ts:index"). >> >>>>> The first error I get is: >> >>>>> ERROR: index 'user_core': sql_range_query: ERROR: integer out of >>>>> range >>>>> (DSN=pgsql://root:*...@localhost:5432/ >>>>> robertson_scholars_development). >> >>>>> The second error I get is that it hangs whenindexinga model: >> >>>>> distributed index 'assignment' can not be directly indexed; >>>>> skipping. >>>>> indexingindex 'custom_field_type_core'... >> >>>>> It just freezes. There's only 20 records in the table. >> >>>>> I know when I run "index .... --all" I get the same problems so >>>>> that >>>>> leads me to believe something's up with sphinx and not TS. >>>>> However, >>>>> any help on how I can debug these errors would be highly >>>>> appreciated. >> >>>>> Thanks. >> >>>>> David > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en -~----------~----~----~----~------~----~------~--~---
