mongoid 在模型的所有文本字段上创建文本索引
mongoid create text index on all text fields on model
我能否像使用此 mongodb 命令一样为 ruby 模型中的所有字段创建文本索引:
db.documents.createIndex({ "$**": "text" }, { name: "TextIndex" })
我们也可以通过某种方式将数字属性添加到 index.html 中吗?我试过这样,但没有
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"})
您可以创建您需要的索引作为下例中的第二行:
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'music')
client[:bands].indexes.create_one( { "$**": "text" } )
查看此 link 了解更多信息:
https://github.com/mongodb/mongo-ruby-driver/blob/master/docs/tutorials/ruby-driver-indexing.txt
在我的例子中,我需要打开一个 rails 控制台和 运行 这个:
对于名为 Model
的模型
client = Mongoid.default_client[Model.collection_name]
client.indexes.create_one( { "$**" => "text" } )
对于其他自定义索引,请查看此 answer
我能否像使用此 mongodb 命令一样为 ruby 模型中的所有字段创建文本索引:
db.documents.createIndex({ "$**": "text" }, { name: "TextIndex" })
我们也可以通过某种方式将数字属性添加到 index.html 中吗?我试过这样,但没有
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"})
您可以创建您需要的索引作为下例中的第二行:
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'music')
client[:bands].indexes.create_one( { "$**": "text" } )
查看此 link 了解更多信息: https://github.com/mongodb/mongo-ruby-driver/blob/master/docs/tutorials/ruby-driver-indexing.txt
在我的例子中,我需要打开一个 rails 控制台和 运行 这个:
对于名为 Model
的模型client = Mongoid.default_client[Model.collection_name]
client.indexes.create_one( { "$**" => "text" } )
对于其他自定义索引,请查看此 answer