我们正在架构中部署rt索引。但我们需要澄清,在部署过程中遇到一些困难。
索引中定义的架构:

        index logtable
        {
        type = rt
        path = /usr/local/sphinx20/var/data/logtable
        rt_attr_string = TransactionId
            rt_attr_uint = CustomerId
        rt_attr_timestamp = DateOfTransaction
        rt_attr_string = CustomerFeedback
        rt_field = TransactionType
        }

面临的问题
问题1:
如何得到SPHINXQL中的查询结果。因为这对我们很重要,基于客户数量,我们必须将其显示在我们的应用程序中。
下面的例子,
Query - select count(*) from logtable where CustomerId='871';

在sphinxql中-我们没有得到这个结果并得到以下错误。错误1064(42000):索引日志表:无效的架构:查询count(*)或@count,但在架构中不可用。
问题2:
我在conf中将“transactionid”字段声明为字符串属性,但是如果该字段在where条件下使用,则无法检索记录。
    Example below,

    select * from logtable where TransactionId='TRA23454';

在我发现错误之后,
错误1064(42000):sphinxql:语法错误,意外的$undefined,应为const_int或const_float或“-”靠近“tra23454”
如果知道,请帮助我们解决这些问题。
古玛兰

最佳答案

select * from logtable where TransactionId='TRA23454';

答:
select * from logtable where  MATCH('@TransactionId TRA23454')

07-26 02:20