当前位置: 首页 > 面试题库 >

如何通过Elasticsearch和Tire防止附件存储在_source中?

尹庆
2023-03-14
问题内容

我有一些使用Tyre
gem在Elasticsearch中建立索引的PDF附件。一切都很好,但是我将拥有许多GB的PDF,我们可能会将PDF存储在S3中以进行访问。现在,base64编码的PDF存储在Elasticsearch
_source中,这将使索引很大。我想对附件建立索引,但不进行存储,并且我还没有弄清楚正确的方法可以放入Tire的“映射”块中以防止它出现。现在的代码块是这样的:

mapping do
  indexes :id, :type => 'integer'
  indexes :title
  indexes :last_update, :type => 'date'
  indexes :attachment, :type => 'attachment'
end

我尝试了一些变化,例如:

indexes :attachment, :type => 'attachment', :_source => { :enabled => false }

当我运行tire:import rake任务时,它看起来不错,但似乎没有什么不同。有人知道A)是否可行?B)怎么做?

提前致谢。


问题答案:

该_source字段设置包含什么应该从源头上排除字段列表。我猜想如果是轮胎,应该这样做:

mapping :_source => { :excludes => ['attachment'] } do
  indexes :id, :type => 'integer'
  indexes :title
  indexes :last_update, :type => 'date'
  indexes :attachment, :type => 'attachment'
end


 类似资料:
  • 问题内容: 是否可以使用Tire更新elasticsearch设置?我有这个curl命令,我想自动运行。 该值可通过轮胎获得,但我不确定如何应用。 问题答案: 可能,但是很丑:) 在将来的版本中会变得更好…

  • 问题内容: 我有每个都有关系的模型,其中可能包含类似的内容: 当然可以有更优雅的格式,但是接下来的问题是:如何通过elasticsearch(tire)查找开着的Shop? 所有的想法都会被感动!谢谢! 找到的解决方案: 为每天(星期日,星期一,..)创建单独的索引 每天从以下位置构建完整的分钟列表: 添加过滤器进行搜索: 这个解决方案也可以,但是看起来很麻烦,因为如果每天工作8个小时,我创建的数

  • 问题内容: 我正在使用hibernate模式开发应用程序。当我尝试创建登录页面时,出现Sql Injection问题。我有以下代码: 在这种情况下,如何防止Sql Injection?loginInfo表的创建表语法如下: 问题答案: 您还有其他选择,请参阅mkyong的这篇不错的文章。

  • 问题内容: 我了解了如何使用表达式语言将XPages控件绑定到Java Bean。然后,它会自动访问setter和getter。 但是,如何处理文件附件? 看起来像什么?我希望能够将文件上传控件绑定到Bean。将附件保存到“任何”文档中…无论是当前文档还是外部文档,bean都应能够处理该逻辑。 我想我不知道如何将文件附件放入内存bean中,以便能够执行任何操作,例如保存到文档中。 任何意见,将不胜

  • 首先,问题陈述:我在我的开发环境中使用Spring-Batch很好。当我将代码移动到生产环境时,我遇到了一个问题。在我的开发环境中,Spring-Batch能够在我们的DB2数据库服务器中创建它的事务数据表。当我们去PROD时,这不是一个选项,因为这是一个只读的工作。 尝试的解决方案: 所以我不知道在这里做什么。我刚到Spring,所以我边走边自学。我对其他解决方案持开放态度,比如内存数据库,但我

  • 问题内容: 我需要停止浏览器存储用户名和密码值,因为我正在处理包含更多安全数据的Web应用程序。客户要求我这样做。 我尝试了HTML表单和密码字段中的属性。但它无法在最新的浏览器(例如Chrome 55,Firefox 38+,IE 11等)中运行。 最好的解决方案是什么? 问题答案: 感谢您给我回复。我点击了以下链接 禁用浏览器的“保存密码”功能 我通过仅在输入中添加&属性来解决此问题,如下所示