【问题标题】:Sphinx - Increment max resultsSphinx - 增加最大结果
【发布时间】:2018-10-03 09:16:50
【问题描述】:

我在使用 Sphinx 2.2.11 时遇到问题,我的索引很大,当我设置的限制大于 13 个元素时,我没有收到任何结果。我认为问题是由于数据包大小的限制。我刚刚在我的 sphinx.conf 文件中插入了属性 max_packet_size 和 mem_limit,但即使我将限制设置为 14 个元素,它仍然不起作用。那我该如何解决呢?

更新

这是我的配置:sphinx.conf

【问题讨论】:

  • “元素”是什么意思?不确定它是 sphinx 中的标准术语,所以不确定您指的是什么。
  • 嗨@Mintendo。如果 LIMIT 13 给你 13 个结果,但 LIMIT 14 给你一个结果,我敢打赌这是某个地方的错误。请提供更多详细信息:您的配置、您使用的客户端、签入 searchd 和查询日志。提供查询后返回的 SHOW META 和 SHOW WARNINGS(或客户端中的相应函数)。
  • @Manticore-Sphinxnextgen 如果我使用 .\mysql.exe -P9306 从控制台运行查询,它可以工作,但当我使用 sphinxapi 文件从应用程序运行时,它不起作用。从搜索和查询日志中我没有收到任何错误
  • 您能否也检查一下您的 php 错误/警告日志并执行 print_r($cl) 其中 $cl 是 SphinxClient 对象并检查那里是否有任何警告/错误。
  • @Manticore-Sphinxnextgen 我检查了,在 $cl 对象和我的 php error_log 文件中都没有收到任何错误/警告。我想知道 Sphinx 中是否存在获取数据的默认限制,因为如果我使用另一个索引(选择查询中的字段较少,我可以获得的数据限制为 307 条记录)。无论如何,我在上面上传了我的 conf 文件

标签: php full-text-search sphinx


【解决方案1】:

问题是,从 sphinx 获取结果后,我使用技巧将它们从数组转换为对象:json_decode(json_encode($results)),这导致服务器内存不足。

【讨论】:

    猜你喜欢
    • 2014-08-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2011-09-02
    • 2013-04-19
    • 1970-01-01
    相关资源
    最近更新 更多