首页 > 解决方案 > 狮身人面像错误:“搜索请求中的未知本地索引”消息“

问题描述

source tasks : common
{
  sql_query = \
    SELECT \
        t.tasks_id, \
        t.tasks_id AS task_id, \
        t.message AS message \
    FROM \
        tasks AS t \

  sql_field_string = task_id
  sql_field_string = message
}

使用php方法

$sphinx->Query('добро', 'message');

手动方法查询

据我所知, sql_field_ * 创建一个索引和一个字段。那么为什么查询时会报错呢?

但是,如果我使用 '*' 一切正常,但我想要,在消息字段中搜索时

标签: phpsphinx

解决方案


据我所知, sql_field_ * 创建一个索引和一个字段。那么为什么查询时会报错呢?

不。 sql_field_现有索引中创建一个字段。不是一个全新的索引。

所以基于这个源的索引,会有message字段。大概你有类似的东西

index tasks {
   source = tasks
   ...
}

在这种情况下可以使用字段语法来搜索特定字段

$sphinx->Query('@message добро', 'tasks');

(最好搜索特定 tasks索引,而不是所有索引(带有*),因为该查询仅适用于具有message字段的索引)


推荐阅读