如何通过思考sphinx来调试索引数据

时间:2014-12-04 23:50:45

标签: sphinx thinking-sphinx

我是狮身人面像的新手,我想看看technology_core中的内容,因为我的查询没有返回应该是什么。实际上甚至没有在db中查询这两个结果。

Processing by TechnologiesController#index as JS
  Parameters: {"utf8"=>"✓", "filter"=>{"tech_type"=>["1"], "area_of_interest"=>["4"]}, "query"=>"", "_"=>"1417734808773"}
  Sphinx Query (1.4ms)  SELECT *, groupby() AS sphinx_internal_group, id AS sphinx_document_id, count(DISTINCT sphinx_document_id) AS sphinx_internal_count FROM `technology_core` WHERE `tag_id` IN (1, 4) AND `sphinx_deleted` = 0 GROUP BY `technology_id` HAVING COUNT(*)=2 LIMIT 0, 20
  Sphinx  Found 2 results
  Rendered collection (0.0ms)
  Rendered technologies/index.js.erb (2.7ms)
Completed 200 OK in 15ms (Views: 12.7ms | ActiveRecord: 0.0ms)

我虽然将数据存储到新的db表中,但是没有创建technology_core表。然后我记得有一个db/sphinx文件夹,所以我猜索引数据必须存储在那里。
有没有办法查询technology_core表?

1 个答案:

答案 0 :(得分:2)

您可以通过mysql命令行工具连接到Sphinx:

mysql --host 127.0.0.1 --port 9306

然后运行SphinxQL查询(与SQL类似但不一样 - 日志中的Sphinx Query行是SphinxQL查询)。 Sphinx docs很好地涵盖了语法。

值得记住的是,SphinxQL查询将返回所有属性值(除非您只在SELECT子句中请求某些属性),但它们不会返回字段。