如何在Rails 3上更改数据库时自动重新索引太阳黑子

时间:2013-10-21 10:37:14

标签: ruby-on-rails sunspot sunspot-rails

我今天学习了Sunspot_rails项目,

参考我的演示片段:http://youtu.be/qmtbDg4VtOw

每当在数据库中添加新项目时

我们应该做

rake sunspot:reindex 

这样我们就可以通过太阳黑子搜索来搜索新添加的日期。

有更好的方法

  

自动

运行

rake sunspot:reindex 

数据库发生变化?

提前致谢

PS:如果在命令行中运行rake sunspot:reindex,它将显示确认提示。我可以禁用该选项。     [书籍] $ rake sunspot:reindex

*Note: the reindex task will remove your current indexes and start from scratch.
If you have a large dataset, reindexing can take a very long time, possibly weeks.
This is not encouraged if you have anywhere near or over 1 million rows.
Are you sure you want to drop your indexes and completely reindex? (y/n)


# Sunspot
  searchable do
    text  :name
    text  :author
    text  :comment
    text  :sale_type
    text  :category
    # text  :isbn
  end

sunspot.yml

[config] $ cat sunspot.yml
production:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    # read_timeout: 2
    # open_timeout: 0.5

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO

test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING

1 个答案:

答案 0 :(得分:0)

默认情况下,sunspot只要您将模型保存到数据库,就会在Solr上更新模型,您无需手动重新索引任何模型。

仅当您更改模型索引的字段或更改rake sunspot:reindex上的schema.xml文件时,才应运行Solr命令。