一些与SphinxSE和RT索引相关的问题

时间:2011-02-10 12:15:52

标签: mysql tags sphinx inverted-index

我考虑在我的一个项目中使用Sphinx搜索,所以我有一些与之相关的问题。

  1. 使用SphinxSE和RT索引时,SphinxSE表中的每个UPDATE或INSERT都会更新索引,对吧?不需要调用索引器或任何东西吗?
  2. 我可以搜索两个标签(用户输入的文档关键字)和内容,并提供与标签匹配更多相关性吗?如果有可能我如何实现标签搜索(现在我将它们放在单独的表中,如倒排索引)
  3. 对于fillter属性,最好是在SphinxSE表中使用它们的重复项,还是使用我的常规文档表中的mysql填充它?
  4. 提前致谢!

1 个答案:

答案 0 :(得分:3)

好的,我终于明白了狮身人面像是如何运作的。

  1. 您不能直接插入或更新SphinxSE表。而是在连接到SphinxQL时直接使用INSERT / REPLACE(直接连接到sphinx守护程序)。
  2. 使用1.10,您可以添加多个FullText可搜索字段。我添加了标题,标签和内容。并且查询赋予标题更多权重,然后标记然后内容如下所示: SELECT SQL_NO_CACHE * FROM sphinx_docs WHERE query = 'a lot of keywords;weights=3,2,1;'; 我使用SQL_NO_CACHE告诉mysql不要缓存这个结果,因为在接下来的调用中我无法获得从sphinx返回的行数(SHOW STATUS LIKE 'sphinx_total_found'

  3. 最好让sphinx完成所有的排序,填充并使用mysql来加入你需要更多信息的表格。

  4. 另外我不得不说我多次尝试将sphinxse插件添加到mysql但没有成功(无休止地等待时间)所以我切换到包含SphinxSE存储引擎的MariaDB 5.2.4。