0

我可以像使用这个 mongodb 命令一样为 ruby​​ 模型中的所有字段创建文本索引: db.documents.createIndex({ "$**": "text" }, { name: "TextIndex" })

我们也可以以某种方式将数字属性添加到索引中。我试过这样但它没有

def fulltext_index
    attributes.except(:_rev, :_type, :doc_type).values.map{|e| e.class==String ? e.to_s : ""}.join(" ").strip + " " + sequence.to_s
end

index({ fulltext_index: "text"})
4

2 回答 2

1

您可以在以下示例中创建所需的索引作为第二行:

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'music') 
client[:bands].indexes.create_one( { "$**": "text" } )

查看此链接以获取更多信息: https ://github.com/mongodb/mongo-ruby-driver/blob/master/docs/tutorials/ruby-driver-indexing.txt

于 2017-05-14T17:09:18.890 回答
1

就我而言,我需要打开一个 Rails 控制台并运行它:

对于名为 Model 的模型

client = Mongoid.default_client[Model.collection_name]
client.indexes.create_one( { "$**" => "text" } )

对于其他自定义 idex,请查看此答案

于 2019-07-17T13:45:09.860 回答