问题标签 [ferret]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
124 浏览

ruby-on-rails - acts_as_ferret - how to limit a search to a small number of fields?

I have a model School which is ferret-indexed on 10 or 12 different indexes.

In one particular search, i want to return only schools which match the search term in one of the following fields: ["name", "postcode", "urn"] (urn is a uid kind of field)

For example, a search for "grange" should return schools with "grange" in their name but NOT return schools that have "grange" in their address (unless it's also in their name of course).

If there's just one field (eg name), i can achieve this by

But, i can't work out how to do this with a list of fields. I thought i might be able to use an "or" syntax, like

or

but neither of these work. Anyone know how to do this? Thanks, max

0 投票
1 回答
97 浏览

ruby-on-rails - ferret /acts_as_ferret :指定字段应为空白

这与基于 lucene 的搜索引擎 Ferret 有关。 https://github.com/dbalmain/ferret

假设我有一个包含两个字段的模型,myfield1并且myfield2. 我想获取 myfield 等于“foo”的记录,或者 myfield 具有null(或空字符串)但 myfield2 设置为“foo”的记录。

我不想获取具有例如 myfield = "bar" 和 myfield2 = "foo" 的记录。所以,这并不像说“myfield:foo || myfield2: foo”那么简单——如果 myfield 为空,我只想查看 myfield2。

等效的 sql 是where (myfield = 'foo') or ((myfield is null or myfield = '') and myfield2 = 'foo'). 与此等效的雪貂搜索字符串是什么?

以下不起作用,但它是我所追求的那种事情的一个例子:

谢谢,马克斯

顺便说一句,如果它是相关的,我在 Rails 上的 ruby​​ 中使用acts_as_ferret,但我认为我的问题真的只是与雪貂搜索字符串有关。我正在使用雪貂宝石,v=0.11.6

编辑:下面有点肮脏的解决方案,仍然想知道是否可以仅使用上面的查询字符串。

好的,我通过添加一个新方法“myfield_blank”解决了这个问题:

然后添加myfield_blank => {},到我的acts_as_ferret 索引定义中。所以现在我可以说

这行得通,但是就像我说的那样,我仍然想知道是否可以在查询中执行此操作,而无需创建新字段:如果我想为许多不同的字段执行此方法,则这种方法将是不可接受的。谢谢

0 投票
3 回答
6625 浏览

netcdf - 将 GrADS (.grd) 转换为 NetCDF (.nc)?

我的文件包含 .grd 格式的 6 小时间隔(每天 4 个文件)的大气数据。我也有相关的描述符文件(yyyymmddhh.ctl)。我可以使用 GrADS 绘制数据。但我需要将这些文件转换为NetCDF格式 (.nc) 以在ferrert的帮助下将其可视化。有谁知道怎么做?

0 投票
0 回答
42 浏览

ruby-on-rails - 雪貂索引(Apache Lucene 的 Ruby 等价物)的数据大小是否有任何限制?

2 年前,我们已将 Ferret 部署到我们的 Ruby on Rails Web 平台中,并且索引工具仍然运行良好:今天,我们仅在索引中管理了 +30 000 000 个英语和法语单词(和短语)条目,每次搜索都是在生产中工作得非常快。

我们现在的目标是部署 30 种新语言,即将这个数字最多乘以 20 到 30(600 000 000 个条目)。您认为这可能会对使用 Ferret 的性能产生任何影响吗?我们应该按语言拆分数据索引还是保留一个唯一的索引来管理所有惯用语?(我们目前总是指定语言,但这不是一个非常重要的搜索条件)

我在 Ferret [great] 教程中搜索了这个问题,但没有成功。https://github.com/xing/ferret/blob/master/TUTORIAL

0 投票
0 回答
34 浏览

ruby-on-rails - Rails 2.2.2 - 雪貂服务器不断死亡

多年来,我们一直在 rails 2.2.2 应用程序中使用 ferret,它很好(有一些怪癖)。

但是,现在,每当我尝试在本地使用它时,它都会死掉。我可以启动它,然后一旦 Rails(在我的本地服务器或控制台中)尝试进行雪貂搜索,雪貂服务器就会消失。

我能得到的唯一反馈来自log/acts_as_ferret.log,其中有:

在我启动它之后,我可以看到ps它正在运行。但是当我启动rails控制台时,雪貂死了。我从 ferret 开始script/ferret_server start,而这又只需要一个文件:

它没有输出任何内容,因此在尝试要求该文件时不会出现异常。

我无法理解是什么突然使它像这样失败,尽管我一直在对其中一个模型的索引内容进行一些更改。我可以恢复这些更改,但问题并没有消失。

我不知道如何调试这个......有人可以帮忙吗?谢谢

编辑:我尝试删除我的索引/开发文件夹的所有内容,认为那里可能有一些奇怪的东西,但它没有帮助。

0 投票
0 回答
32 浏览

ruby - 删除记录后删除悬挂的雪貂索引条目

我正在使用 ActsAsFerret,它是基于 Ruby 的Ferret搜索引擎的 Rails 包装器。

有时,似乎使用 SQL 删除了一条记录,而不是通过 ActiveRecord(即 record.destroy),当这种情况发生时,在 Ferret 索引中留下了一个索引条目。

我可以在这个例子中看到它,其中 School #136574 留下了一个悬挂索引条目lazy: “:

这会导致一个严重的问题,因为如果您尝试对结果执行任何操作,它会执行 School.find(id) 并且您会遇到上述异常。

我做到了School.rebuild_index,认为这会解决它,但它没有。

可以解决它 - 似乎调用.collect结果已被覆盖以将它们转换为相应的对象(导致异常),我可以执行以下操作:

这确实有效,但速度很慢,而且有点让人头疼。

有谁知道删除悬挂索引记录的方法?

0 投票
1 回答
98 浏览

bash - MacTerminal 上的 PyFERRET 命令不起作用

我使用 Anaconda 通过终端安装了 PyFerret。按照以下说明操作: https ://github.com/NOAA-PMEL/PyFerret/blob/master/README.md 似乎安装成功,因为我可以使用激活环境

我的命令行名称从(base)Mac:Directory User$更改为(FERRET)Mac:Directory User$,我认为这表明 PyFERRET 处于活动状态。然后我尝试给出一些命令:

然后我尝试使用其他命令,例如 PLOT,其中一些可以在以下位置找到:https ://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/commands-reference/PLOT 但是,我的终端的响应是这些命令是未找到。有人有什么想法吗?

0 投票
0 回答
291 浏览

macos - 如何使用 GnuPlot 绘制 NetCDF 文件?

大家好,我想知道是否可以使用 Gnuplot 绘制 NetCDF 文件。我试图在命令行上使用 PyFerret,但我无法弄清楚。使用 PyFerret 我能够确定 NetCDF 文件具有以下数据:

然后我试图绘制我尝试以下操作的数据集 T_2M

这让我想知道,我正在寻找的温度数据在哪里,因为文件上似乎只有时间数据。然而,使用一个名为Panopoly的应用程序,我能够可视化数据,所以确实有温度。我在 T_2M 文件的某处寻找的数据。所以我尝试使用 Gnuplot 对其进行灌封,但我无法这样做。我是处理这些类型文件的新手。

0 投票
1 回答
119 浏览

plot - NetCDF 文件的数据提取和转换

大家好,我正在使用 Ferret 来查看存储在 NetCDF 文件中的一些数据。但是,我只能根据所有测量值绘制数据:Ferret 绘制 1998 年至 2004 年的数据。但是 Ferret 不允许我调整轴范围,所以我现在想尝试将数据点提取到 .txt 或 .dat 文件中,以便我可以使用 GNUPlot 来查看它们。这是存储在文件中的数据:

我可以通过让 Ferret 列出来单独查看数据集:

这些文件中的每一个都有几年的时间数据,我希望能够在一年内查看(例如:表面温度),而不是让 Ferret 绘制它(yes? PLOT TS)绘制所有这些。建议我尝试使用 gnuplot 的原因。但是,它不能直接读取这些文件 (netCDF)。

向大家问好,请帮忙。

0 投票
1 回答
713 浏览

cdo-climate - 在 Netcdf 文件中使用 cdo 计算相关性

我想计算空间和时间相关系数,一个文件有 1 个变量,另一个有 2 个变量。如何从有 2 个变量的变量中选择一个变量来计算相关性?我应该使用哪个命令?这是我使用的命令:

我试过了,错误是:输入流每个时间步有不同数量的变量!非常感谢!