【问题标题】:Some questions related to SphinxSE and RT indexes关于SphinxSE和RT索引的一些问题
【发布时间】:2011-06-24 19:46:52
【问题描述】:

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

  1. 使用 SphinxSE 和 RT 索引时,SphinxSE 表中的每个 UPDATE 或 INSERT 都会更新索引,对吗?不需要调用 indexer 什么的?
  2. 我能否同时搜索标签(用户为文档输入的关键字)和内容,并为标签匹配提供更多相关性?如果可能的话,我该如何实现标签搜索(现在我将它们放在单独的表格中,如倒排索引)
  3. 对于填充属性,最好将它们的副本粘贴到 SphinxSE 表中,还是使用我拥有的常规文档表中的 mysql 进行填充?

提前致谢!

【问题讨论】:

    标签: mysql tags sphinx inverted-index rt


    【解决方案1】:

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

    1. 您不能直接插入或更新 SphinxSE 表。相反,您在连接到 SphinxQL(直接连接到 sphinx 守护程序)时使用 INSERT/REPLACE。
    2. 在 1.10 中,您可以添加多个全文可搜索字段。我添加了标题、标签和内容。赋予标题更多权重的查询,然后是标签,然后是内容,如下所示: 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 来加入需要更多信息的表。

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

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 2011-06-17
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      相关资源
      最近更新 更多