gpt4 book ai didi

ruby-on-rails - 思考 sphinx 不索引某些模型

转载 作者:行者123 更新时间:2023-12-02 05:12:30 26 4
gpt4 key购买 nike

这很奇怪。我有 3 个模型(A、B、C)。当 crontab 运行它时,我们工作得很好。

最近,我在为模型 A 索引新条目时遇到问题。

当我手动调用 rake ts:index RAILS_ENV=production 时,索引运行正常。没有错误,问题。但是,只有模型 B、C 得到更新。模型 A 没有得到更新。我检查了所有日志,没有任何问题。

这是 searchd.log:

[Mon Nov 29 15:02:27.920 2010] [ 7280] rotating indices (seamless=1)
[Mon Nov 29 15:02:28.211 2010] [ 7280] rotating index 'b_core': success
[Mon Nov 29 15:02:28.215 2010] [ 7280] rotating index 'c_core': success
[Mon Nov 29 15:02:28.216 2010] [ 7280] rotating finished

在这里你会注意到 a_core 没有出现。所有这些都在它工作正常的时候。当我看到它运行时,它正在索引 A,但是当我检查我的 sphinx 数据库时,它最后一次更新时,它没有更新。所有 Sphinx 数据库的权限都是相同的。

让索引运行良好的唯一方法是删除旧的 sphinx 数据库,并调用整个 ts:rebuild。不过,我还没有尝试删除 production.sphinx.conf

在发生这种情况之前,我过去确实尝试过添加增量索引。好吧,增量索引无法以某种方式工作,但正常索引很好。然后,模型 A 的索引坏了。反正我没意识到它坏了。然后我在不删除列的情况下关闭了增量索引。 (我仍然不知道模型 A 的索引运行良好)。然后今天我发现模型 A 索引有问题。所以我想也许我没有删除数据库中的增量列。所以我删除了该列,重新启动了 MySQL、Apache,模型 A 索引仍然没有更新。

我实际上不认为它与增量索引有任何关系。因为我添加了,然后删除了所有 A、B、C 模型的增量索引。如果它坏了,它应该坏掉所有而不是一个模型。

请帮忙。谢谢。

编辑模型A

  # ThinkingSphinx Index
define_index do
indexes :name, :sortable => true
indexes address
indexes city
indexes state
indexes country
indexes spot_type
indexes season
indexes description
has rating_average

# set_property :delta => true
end

模型 B

  # ThinkingSphinx Index
define_index do
indexes name
indexes duration
has budget, created_at, rating_average

# set_property :delta => true
end

最佳答案

事实证明,我的服务器磁盘空间不足。模型 A 指数比其他模型大得多。即使索引成功,它也无法写入磁盘(尽管没有错误输出)。但是当我不断尝试向模型A添加越来越多的内容,并不断重建时,磁盘空间问题就出现了。

所以我增加了我的磁盘大小。现在好了。

关于ruby-on-rails - 思考 sphinx 不索引某些模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com