Sphinx 错误:搜索请求中的“未知本地索引‘消息’”

问题描述

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');

Manual method Query

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

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

解决方法

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

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

因此基于此源的索引将具有消息字段。想必你有 类似的东西

index tasks {
   source = tasks
   ...
}

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

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

(最好搜索特定 tasks 索引,而不是所有索引(使用 *),因为查询仅适用于具有 {{ 1}} 字段)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...