アーキテクチャに 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 で count() クエリの結果を取得する方法。それは私たちにとって重要であるため、顧客数に基づいて、アプリケーションに表示する必要があります。
以下の例、
Query - select count(*) from logtable where CustomerId='871';
SphinxQL - この結果が得られず、次のエラーが発生しました.ERROR 1064 (42000): index logtable: invalid schema: Count(*) or @count is queryed, but not available in the schema.
質問 2: "TransactionId" のフィールドの conf で STRING 属性として宣言しましたが、そのフィールドが where 条件で使用されている場合、レコードを取得できません。
Example below,
select * from logtable where TransactionId='TRA23454';
次のエラーが表示されます。エラー 1064 (42000): sphinxql: 構文エラー、予期しない $undefined、CONST_INT または CONST_FLOAT または '"TRA23454"' 付近の '-' が必要です
わかっている場合は、これらの問題を解決するためにご協力ください。
クマラン