草庐IT

ElasticSearch脚本

全部标签

ruby-on-rails - NoMethodError(#<Elasticsearch::Model::Response::Result> 的未定义方法 `highlight'

我将为我的ruby​​onrails项目使用Elasticsearch。当我搜索一些在我的文章中使用过多的词时,出现此错误。NoMethodError(undefinedmethod`highlight'for#)我在日志制作中得到了这个。这就是我所做的一切:在Controller中:#POST/search/articledefsearchrenderjson:Article.search(params[:query]),each_serializer:ElasticsearchResultsSerializerend这是我的article.rb模型#default_scope{or

ruby-on-rails - searchkick 和 elasticsearch-rails 有什么区别?

这两个似乎都是非常活跃且相当流行的railsElasticsearchgem。似乎主要区别在于searchkick具有更多基于个人用户的自定义。在选择使用哪一种之前,人们需要考虑哪些差异?https://github.com/elasticsearch/elasticsearch-rails*s872fork165latestcommit2.5monthsagohttps://github.com/ankane/searchkick*s1,594fork165latestcommit11daysago 最佳答案 Searchkick

ruby - 如何将 Ruby 脚本的输出通过管道传输到 'head' 而不会出现管道损坏错误

我有一个简单的Ruby脚本,看起来像这样require'csv'whileline=STDIN.getsarray=CSV.parse_line(line)putsarray[2]end但是当我尝试在这样的Unix管道中使用此脚本时,我得到10行输出,然后是一个错误:rubylib/myscript.rb(Errno::EPIPE)有没有一种方法可以以防止引发破损管道异常的方式编写Ruby脚本? 最佳答案 head在读取所有需要的数据后关闭标准输出流。您应该处理异常并停止写入标准输出。一旦标准输出关闭,以下代码将中止循环:while

ruby-on-rails - 如何检查将脚本/运行程序作为 shebang 的 ruby​​ 脚本的语法?

我在检查其shebang上有railsscript/runner的ruby​​脚本的语法时遇到问题。这里有两个示例脚本以及它们如何响应ruby​​语法检查:脚本hello_world_runner.rb:#!/usr/bin/envscript/runnerp"Helloworld!"脚本hello_world.rb#!/usr/bin/envrubyp"Helloworld!"这是我尝试检查语法的方法。第一行是命令,第二行是输出。$ruby-chello_world_runner.rb"Helloworld!"$ruby-chello_world.rbSYNTAXOK

ruby - 使用 Ruby 脚本通过 https 登录网站

好吧,事情是这样的:我正在开发一个Ruby应用程序,它将从网站获取数据,并将该数据聚合到一个XML文件中。我需要取数据的网站没有我可以使用的API,所以我唯一能想到的就是登录网站,顺序加载有我需要的数据的页面(在这个case,PMs;我想归档它们),然后解析返回的HTML。但是,问题是我不知道有什么方法可以编程模拟登录session。有没有人有任何建议,或者知道我可以用来成功登录到https页面,然后使用来自登录的临时cookiesession以编程方式从站点加载页面的任何行之有效的方法?它不一定是一个仅限Ruby的解决方案——我只是想知道我如何才能真正做到这一点。如果有帮助的话,有问

ruby - 如何检查 Ruby 脚本中的 STDIN 输入?

我需要检查Ruby脚本中是否存在STDIN输入,就像mysql命令一样。如果没有任何内容指向STDIN,则脚本不应尝试读取STDIN。如何以跨平台的方式做到这一点? 最佳答案 这是在Linux中经常做的事情:#!/usr/bin/envrubystr=(STDIN.tty?)?'notreadingfromstdin':$stdin.readputsstr>>$rubytest.rb>>notreadingfromstdin>>$echo"readingfromstdin"|rubytest.rb>>readingfromstdin

ruby-on-rails - Elasticsearch 和轮胎 : Using Mapping and to_indexed_json

在阅读Tire时文档,我的印象是您应该使用mapping或to_indexed_json方法,因为(我的理解是..)使用了mapping提供to_indexed_json。问题是,我发现一些教程同时使用了这两种方法。为什么?基本上,我的应用程序现在可以使用to_indexed_json但我无法弄清楚如何设置某些属性的提升值(因此我开始查看映射的原因)并且我想知道同时使用两者是否会造成一些冲突。 最佳答案 虽然mapping和to_indexed_json方法是相关的,但实际上它们有两个不同的目的。mapping方法的目的是为索引中的

ruby - 如何在任何 Web 服务器(Apache 或 Mongrel 或其他任何东西)中运行简单的 ruby​​ 脚本

我觉得很有趣,当我搜索与ruby​​相关的内容时,所有与ruby​​onrails相关的结果都会弹出。所以没有人再使用原始ruby了吗?但是,我是ruby​​新手。今天早上我只是想在网络服务器上运行一个简单的helloworldruby​​脚本,首先是apache2,然后尝试了mongrel。但不幸的是我失败了。我用谷歌搜索了所有可能的方法,但结果只显示了关于ruby​​onrails的信息。那么真的有什么方法可以在任何Web服务器上运行ruby​​脚本,或者即使我只想做一个helloworld应用程序,我也必须使用ror? 最佳答案

Elasticsearch / Nest搜索具有同义词,复数和错误的搜索

我想进行实现以下项目的搜索。现在,我已经通过Regex实施了所有这些,这远非涵盖所有内容,我想知道我可以为此使用elasticsearch多少:同义词我的理解是,当创建索引时,这将实现。indexSettings.Analysis.TokenFilters.Add(“同义词”,新的同义词tokenfilter{synonyms=new[]{“tire=&gt;tire”,“aluminum=&gt;aluminum”},ignorecase=true,true,true,tokenizer=tokenizer=“whitespace”whitespace“whitespace”}));但是我还

Ruby - 如何使用脚本输出编写新文件

我有一个简单的脚本可以进行一些搜索和替换。基本上就是这样:File.open("us_cities.yml","r+")do|file|whileline=file.gets"dofindareplace"end"HereIwanttowritetoanewfile"end如您所见,我想用输出编写一个新文件。我该怎么做? 最佳答案 可以像这样输出到一个新文件(不要忘记第二个参数):output=File.open("outputfile.yml","w")output因此在您的示例中,您可以这样做:File.open("us_cit