【问题标题】:MVA attributes in SphinxSphinx 中的 MVA 属性
【发布时间】:2009-12-14 09:49:03
【问题描述】:

谁能帮我理解创建 MVA(多值)的预期数据格式 Sphinx 中的属性?

我有一个 MySQL 函数,它返回一行以逗号分隔的整数,并与 GROUP_CONCAT,作为一个 blob。我有两个进一步的 MVA 属性,用于整理结果 JOIN 语句,GROUP_CONCAT,作为 blob(由 ThinkingSphinx 生成)。这些都包含在我的 sphinx.conf 中的sql_query 中。

我尝试在控制台中的一个小结果集上运行 SQL,并且它有效:对于 all MVA 列,结果是一个包含以下数据的 blob:

2432,35345,342347,8975,453645

等等。正确使用JOIN/GROUP_CONCAT 组合索引生成的两个MVA 属性。但是,使用 MySQL 函数生成的 MVA 属性会导致 索引以静默方式失败(似乎很少或没有数据被索引)。尽管查询在控制台中工作得非常好..

所以数据格式似乎是相同的,但 Sphinx 拒绝了其中一列。有谁知道定义 MVA 属性的任何陷阱,这可能有助于我调试 这个?

【问题讨论】:

    标签: sphinx thinking-sphinx


    【解决方案1】:

    我从未使用过thinking-sphinx(这里是一家PHP 商店),但我认为您不应该对您的结果进行group_concat。从我的一个 sphinx.conf 文件中的一个工作示例:

    sql_attr_multi = uint categories from query; SELECT entry_id, cat_id FROM exp_category_posts
    

    【讨论】:

    • 谢谢。但是,在使用“字段”方法索引 MVA 属性时,GROUP_CONCAT 方法似乎是正确的方法。您的示例索引来自“查询”,您是对的:GROUP_CONCAT 不正确。
    【解决方案2】:

    我最终解决了这个问题。这是因为某事而发生的 这似乎无关:似乎受到影响的“sql_attr_str2ordinal”属性 (或效果)以我不完全理解的方式进行 SQL 查询/索引。

    见:http://www.sphx.org/forum/view.html?id=2867

    幸运的是,就我而言,我能够将其完全删除,现在索引似乎可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 2011-01-07
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多