问题标签 [tire]

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 投票
1 回答
2332 浏览

ruby-on-rails - Elasticsearch 和 Tire Gem:“IndexMissingException[[products] missing]”?

我不确定如何让我的产品被索引,因为我认为这就是我收到此错误的原因:

这是我的产品型号:

如果这是问题,我如何索引我的产品?

谢谢你。

0 投票
1 回答
1520 浏览

ruby-on-rails - 不在映射中的字段包含在 ElasticSearch 返回的搜索结果中

我想使用 Tire gem 作为 ElasticSearch 的客户端来索引 pdf 附件。在我的映射中,我从 _source 中排除了附件字段,这样附件就不会存储在索引中,也不会在搜索结果中返回

当我运行以下 curl 命令时,我仍然可以看到搜索结果中包含的附件​​内容:

我在这个帖子中发布了我的问题:

但是我刚刚注意到,不仅附件包含在搜索结果中,而且所有其他字段,包括未映射的字段,也包括在内,如您在此处看到的:

attachment_file_size并且attachment_content_type未在映射中定义,但在搜索结果中返回:

这是我的完整实现:

有人可以帮我弄清楚为什么所有字段都包含在_source?

编辑:这是运行的输出localhost:9200/user_files/_mapping

如您所见,由于某种原因,所有字段都包含在映射中!

0 投票
1 回答
1186 浏览

ruby - Elasticsearch JSON 查询的轮胎等效项

我有一个标准 JSON 格式的查询,当直接从命令行查询时效果很好。json是:

这给了我想要的结果:

但是我无法为等效的轮胎查询找到正确的语法。我试过了:

但这给了我语法错误:

我在任何其他论坛上都找不到任何帮助。当我尝试在 must 块中放置多个查询时会出现问题。请帮忙。

提前致谢

-阿兹塔布

0 投票
2 回答
2869 浏览

ruby-on-rails - Elastic Search/Tire: How to map to association attribute?

I'm using Tire for Elastic Search. In my application I have 2 models; Price and Product.

I'm trying to search my Price class and use the Product it belongs to's :name attribute for the search field. Right now if I had a product called Product 1 and type in "pro", "prod" or "duct", no results come up. But typing "product" or "Product" shows the results. I believe the problem lies in my mapping. I looked at the query and its:

When I think it should be:

Judging by this question: ElasticSearch mapping doesn't work

I don't know how to make my params[:query] to take the product.name only though. I tried to use: string params[:query], default_field: "product.name" but that didn't work.

I don't want to use the _all field.

Here is my code:

Price.rb

So does anyone have any suggestions or know how to set the query field to use the Product name only?

Thank you.

0 投票
3 回答
6914 浏览

ruby-on-rails - 弹性搜索/轮胎:如何过滤布尔属性?

我想过滤我班级的私有布尔值,因此它只显示非私有但对我不起作用的资源。(我大大简化了代码)

我该如何正确地做到这一点?

0 投票
1 回答
1840 浏览

ruby-on-rails - 带轮胎的 ElasticSearch 与“字符串”搜索中的 nGram 不匹配,仅匹配“文本”

所以我一直在尝试将 nGram 匹配添加到我的 ElasticSearch 索引中,但我遇到了以下问题。

执行标准字符串查询仅返回完全匹配。在特定测试字段上运行匹配查询会产生预期的 nGram 匹配。

我根据这些(1) 示例(2)为我的字段设置了 nGram 过滤器和分析器。映射代码如下:

弹性搜索查询

产生结果的查询:

产生 NO 结果的查询:

有没有办法让一般的 query_string 搜索来查看所有索引字段并匹配 ngram,而不必对特定列进行文本/匹配搜索?

0 投票
1 回答
257 浏览

ruby-on-rails-3 - 在 Tire::Model::Persistence 上实例化一个对象

我有一个非常简单的 rails3 应用程序,我正在尝试学习如何使用 Tire::Model::Persistence 将 Elasticsearch 用作数据存储,但我在搜索时遇到问题(你知道,搜索)

这是我的模型:

这是我的路线:

这是我的控制器:

我的 index.html.erb:

有了上面,只查看不带参数的 index 方法,渲染就好了。我已经注释掉了 if params[:q] 这样我就可以像正常旅行一样返回所有帖子

但是,一旦我点击该搜索按钮,我就会收到此错误消息:路由错误

没有路线匹配 {:action=>"show", :controller=>"posts"}

如果我将视图中的行删除到 <%= link_to ... %> 然后视图会呈现所有帖子的名称和发布文本。

如果我在控制器中更改:

回到

并删除 Post.all

然后在模板中我收到以下错误:

可能有一件简单的事情我没有做,但我想不通,目前还没有一个很好的例子来说明只使用带轨道的轮胎作为唯一的数据存储,所以我不知道这是否只是人们的一个晦涩难懂的问题不使用 activerecord 时遇到。

0 投票
1 回答
3519 浏览

ruby-on-rails - Elasticsearch:突出显示附件中的命中

我无法在 Rails 应用程序中使用 Elasticsearch(和轮胎)突出显示。我可以成功索引 PDF 附件并查询它们,但我无法使突出显示工作。

对 ES 不太熟悉,所以不知道在哪里寻找故障排除。将从映射和 curl 查询开始,但请随时询问更多信息。

映射(通过 Curl):

在 125 页索引 PDF 中带有“命中”的查询:

我期待这样的部分:

谢谢你的帮助!

Edit2:调整查询(更改attachmentattachment.file)无济于事:

Edit3(删除“字段”):

Edit4(来自 Attachment Type in Action 教程的映射):

0 投票
1 回答
1126 浏览

ruby-on-rails - ElasticSearch 评分(轮胎宝石)

我希望 ElasticSearch(具体是轮胎 gem)根据关键字在字段中出现的次数返回结果。例如,我在一个名为 Article 的模型中索引字段标题。我有两个对象,第一个对象的标题值为'Funny Funny subject'而第二个对象的标题值为'Funny subject'。我想以这样的方式建立索引,如果我搜索关键字'Funny',第一个对象将首先返回,因为它有两个 'Funny' 出现在标题中的单词。可以通过轮胎做到这一点吗?索引方法又叫什么?

0 投票
2 回答
198 浏览

ruby-on-rails - 如何在rails 3应用程序中使用dob日期时间字段搜索age_from到age_to?

刚接触轮胎并试图弄清楚如何在我的个人资料模型中搜索 DOB(出生日)列。

  • 尝试建立一个简单的搜索,我可以设置 age_from 和 age_to (比如 20 到 60 )
  • 由于我只有一个 dob 字段,我该怎么做?
  • 在创建记录时计算年龄并将其存储在列中并将其添加到我的 Profile 模型以清理搜索是否会更好?

对此最好的方法是什么?谢谢