

docker exec -it c76785ab5a8b bash
# 安装插件
./bin/elasticsearch-plugin insyall repository-s3
exitdocker restart c76785ab5a8bGET _cat/plugins
c76785ab5a8b analysis-ik 7.8.1
c76785ab5a8b repository-s3 7.8.1./bin/elasticsearch-keystore add s3.client.default.access_key
./bin/elasticsearch-keystore add s3.client.default.secret_keyPUT _snapshot/stock_backup
{
"type": "s3",
"settings": {
"bucket": "stock",
"protocol": "http",
"disable_chunked_encoding": "true",
"endpoint": "172.0.0.1:9000"
}
}GET _snapshot/_all?pretty
{
"stock_backup" : {
"type" : "s3",
"settings" : {
"bucket" : "stock",
"disable_chunked_encoding" : "true",
"endpoint" : "172.0.0.1:9000",
"protocol" : "http"
}
}
}PUT _snapshot/stock_backup/snapshot_allPUT _snapshot/stock_backup/default_all
{
"indices": "dec_default_news,dec_default_rate,dec_default_ha",
"ignore_unavailable": true,
"include_global_state": false
}GET _snapshot/stock_backup/default_all # 查看单个
{
"snapshots" : [
{
"snapshot" : "default_all",
"uuid" : "4ZgKyuBWTE2vtowAczIDpQ",
"version_id" : 7080199,
"version" : "7.8.1",
"indices" : [
"dec_default_news",
"dec_default_rate",
"dec_default_ha"
],
"include_global_state" : false,
"state" : "SUCCESS",
"start_time" : "2022-04-02T03:16:09.842Z",
"start_time_in_millis" : 1648869369842,
"end_time" : "2022-04-02T03:16:09.842Z",
"end_time_in_millis" : 1648869369842,
"duration_in_millis" : 0,
"failures" : [ ],
"shards" : {
"total" : 3,
"failed" : 0,
"successful" : 3
}
}
]
}
GET _snapshot/stock_backup/_all?pretty # 查看所有
{
"snapshots" : [
{
"snapshot" : "default_all",
"uuid" : "4ZgKyuBWTE2vtowAczIDpQ",
"version_id" : 7080199,
"version" : "7.8.1",
"indices" : [
"dec_default_news",
"dec_default_rate",
"dec_default_ha"
],
"include_global_state" : false,
"state" : "SUCCESS",
"start_time" : "2022-04-02T03:16:09.842Z",
"start_time_in_millis" : 1648869369842,
"end_time" : "2022-04-02T03:16:09.842Z",
"end_time_in_millis" : 1648869369842,
"duration_in_millis" : 0,
"failures" : [ ],
"shards" : {
"total" : 3,
"failed" : 0,
"successful" : 3
}
}
]
}PUT _snapshot/stock_backup
{
"type": "s3",
"settings": {
"bucket": "stock",
"protocol": "http",
"disable_chunked_encoding": "true",
"endpoint": "172.0.0.1:9000"
}
}GET _snapshot/stock_backup/_all?pretty
{
"snapshots" : [
{
"snapshot" : "default_all",
"uuid" : "4ZgKyuBWTE2vtowAczIDpQ",
"version_id" : 7080199,
"version" : "7.8.1",
"indices" : [
"dec_default_news",
"dec_default_rate",
"dec_default_ha"
],
"include_global_state" : false,
"state" : "SUCCESS",
"start_time" : "2022-04-02T03:16:09.842Z",
"start_time_in_millis" : 1648869369842,
"end_time" : "2022-04-02T03:16:09.842Z",
"end_time_in_millis" : 1648869369842,
"duration_in_millis" : 0,
"failures" : [ ],
"shards" : {
"total" : 3,
"failed" : 0,
"successful" : 3
}
}
]
}POST _snapshot/stock_backup/default_all/_restore
{
"acknowledged" : true
}GET _cat/indices
yellow open dec_default_news HWykC-xpQVK0ZqK-3NjXVA 1 1 308 0 208kb 208kb
yellow open dec_default_rate F3JFzHF-QK2AH_9IUmnacA 1 1 409471 0 221.5mb 221.5mb
yellow open dec_default_ha c78OXNB1T3KafgVHj7TwiA 1 1 164 0 250.2kb 250.2kb
如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我有一个应用程序可以读取文件的内容并为其编制索引。我将它们存储在磁盘本身中,但现在我使用的是AmazonS3,因此以下方法不再适用。事情是这样的:defperform(docId)@document=Document.find(docId)if@document.file?#Youshould'tcreateanewversion@document.versionlessdo|doc|@document.file_content=Cloudoc::Extractor.new.extract(@document.file.file)@document.saveendendend@docu