Ruby on rails Sphinx:可以更新用于索引的SQL查询大小限制吗?
我好像碰到了一个斯芬克斯头套。我正在索引某个表,它将生成≈ 每个记录有140个索引字段(相信我,它们都很重要)。对于其中的27*3,生成它的子查询本身已经相当大了。这将导致对我的development.sphinx.conf生成一个巨大的查询(17行)。这会产生结果,我已经在db中直接测试了它。但它不能索引。它抱怨 错误:索引“vendor\u song\u core”:在匹配获取查询中找不到sql\u query\u range::宏“$start”Ruby on rails Sphinx:可以更新用于索引的SQL查询大小限制吗?,ruby-on-rails,ruby,sphinx,thinking-sphinx,Ruby On Rails,Ruby,Sphinx,Thinking Sphinx,我好像碰到了一个斯芬克斯头套。我正在索引某个表,它将生成≈ 每个记录有140个索引字段(相信我,它们都很重要)。对于其中的27*3,生成它的子查询本身已经相当大了。这将导致对我的development.sphinx.conf生成一个巨大的查询(17行)。这会产生结果,我已经在db中直接测试了它。但它不能索引。它抱怨 错误:索引“vendor\u song\u core”:在匹配获取查询中找不到sql\u query\u range::宏“$start” ,但这实际上意味着执事没有加载完整的查询。
,但这实际上意味着执事没有加载完整的查询。显然它太长了。我的假设正确吗?如果是这样的话,我能解决它吗(比如,一个神奇的最大查询长度字段,我可以在某处更新)?答案是从斯芬克斯论坛复制的。。。 将“long”查询定义移动到mysql视图中 那么sql\u查询可以非常短:) 也就是说,视图本身包含所有列名,sql\u查询只需使用“选择*
从”。类似地,如果连接许多表,这些表都可以移动到视图中。似乎没有真正的方法来实现这一点。Sphinx直接在其源代码中定义了查询大小的限制,因此,唯一的方法是编辑其源代码并在本地编译,或者按照barryhunter的说法执行,只要您能够定义这样的视图。有关此问题的更多详细信息,请访问barryhunter提供的链接 你能粘贴你的源代码和索引配置吗?这个问题(不是答案)是我在sphinx论坛上发布的。我不能把它放在一个视图中。这一切都与“排序”列有关,这些列接受特定的“定制”查询,而这些查询无法真正转换为视图。但无论如何,我已经找到了解决办法。我仍然认为sphinx应该考虑到索引查询确实有一个未声明的限制,并且应该相应地解决这个问题。