我有一个postgresql数据库,我想大量使用sphinx搜索从很多表中获取大量数据(超过30个表),我是否必须为每个表定义索引,或者我只能定义listen socket和它工作正常吗?
我尝试了为每个表定义索引的常规方法,它工作正常,但我必须为所有表定义索引!
我试图在sphinx.conf上的searchd部分定义listen,但它没有工作。
答案 0 :(得分:1)
没有。 Sphinx没有'自动索引'。必须明确创建它们。
坦率地说,变化太多了。要包括哪些字段,要包括哪些行(例如,排除“已删除”行)等。应包含哪些属性。普遍推断太多了。
话虽如此,配置文件可以通过代码创建。所以代码知道你希望每个索引如何工作,所以只需自动生成配置文件。但是,如果你的牌桌有所变化,它可能只值得一试。
答案 1 :(得分:0)
我已经实现了postgres触发器程序,并且python worker用于提供Sphinx RT索引。看一看 https://github.com/narg/sphinx-search-feeder