问题标签 [elasticsearch-rails]
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.
ruby-on-rails - Rails-elasticsearch: unable to perform custom mapping content of the table
I am trying to make a custom index of my model to elasticsearch serwer. Somehow I can render only a structure (selected columns) but without a records.
My model:
And then I try to create an index from rails console:
After that on my local elasticsearch server on /leads I can see my custom structure but without any records. How can I fix this issue?
Rails version: 5.2.1 Elasticsearch: 6.4.3 elasticsearch-model/rails gems: 6.0.0
ruby-on-rails-4 - 嵌套排序未按预期工作 ElasticSearch
要求
- 使用与 custom_field_id 匹配的 custom_field_values 对产品进行排序
映射
示例数据
预期的
- 我应该能够对整个
product
过滤器进行custom_field_values.custom_field_id
排序,按custom_field_values.value
示例查询
更新查询
结果顺序应该是2nd product
, then3rd product
和1st product
。如果我想循环浏览产品并打印,custom_field_values.value
我应该得到Z
, P
, B
.
ruby-on-rails - Elasticsearch 6.3.2 术语匹配空数组“加”其他
在我的数据库中,帖子可以有零 (0) 个或多个类别表示为一个数组。
当我进行查询时,要查看这些类别,并传递一些值:
而且效果很好,我有我期待的记录。但是当我想包含这些帖子时问题就来了,其中类别是一个空数组([])。
我现在正在从旧版本的 ES (1.4.5) 升级到版本 6.3.2,并且这段代码是使用“missing”制作的,它已被弃用。
我尝试更改添加着名的映射"null_value": "NULL"
,然后查询,但没有奏效。还尝试了 should 与 must_not 的组合,如升级“missing”的建议,但没有奏效。
我怎样才能做到这一点?这意味着如果我已编制索引:
结果应返回帖子编号 1、2 y 3 - 具有“新闻”、“电视”或空数组作为类别的帖子。
ruby-on-rails - 通过 elasticsearch-model 使用滚动 api
在我的一生中,我找不到在 Ruby on Rails 和 elastisearch-model(或 rails 或 dsl)gem 中使用 ElasticSearch scroll api 的任何参考。
他们在文档中唯一引用的是直接在客户端上调用滚动,这违背了目的。此外,它不使用客户端或您已经在 Rails 应用程序中设置的任何客户端设置。
我想做这样的事情。
这是在 Kibana 开发工具中工作的 ElasticSearch 查询:
我本以为我可以调用类似的东西
但似乎我需要这样做:
有没有人有更多用户友好的例子?
ruby-on-rails - 在elasticsearch中设置关键字字段
我将 Rails 从 4 升级到 5.2,还将 elasticsearch 从 2.4 更新到 6.8。
以下是我得到的错误。
这是请求*的样子:
看一下activity_search.rb:
看一下model.rb:
activity_search_facade.rb:
有人可以帮助解决这个错误吗?
请注意elasticsearch-rails
gem 版本是 6.0.0。
如果您需要更多代码,请告诉我。
* 如何更改此请求以使其在版本 6 中正常运行?
更新
根据我得到的错误,这可能是什么吗?
curl -X GET 'localhost:9200/development_activities'
我如何将其更改为type: "keyword"
?^
ruby-on-rails - ElasticSearch maxClauseCount 设置为 1024
我elasticsearch-rails
在 Rails 5 中使用 gem,我正在尝试增加max_clause_count
. 我正在使用7.3
ElasticSearch 版本。
在我的 elasticsearch.yml 文件中,我添加了以下代码:
在我的初始化程序中,我像这样加载配置:
我仍然可以使用我的一个相当长的查询来重现此错误,当我这样做时,在加载上面的配置后,我仍然收到错误:
{"type":"too_many_clauses","reason":"maxClauseCount is set to 1024"}
将配置打印到终端我得到这个输出:
elasticsearch - 标点符号不正确的结果 - ElasticSearch
english
我有一个名称字段,该字段使用包含零件名称的分析器进行索引(也尝试了标准分析器)。
我的问题是我的一些标题包含标点符号,有些则没有。此外,我的一些查询包含标点符号,而有些则没有。
例如,我的标题为“CenterG 5.2 Drive Belt for model number 4425”。我的查询可能如下所示:“Centerg 5.2 皮带”,如果是这样,那么我的结果将正确显示,顶部显示“CenterG 5.2 Drive Belt for model number 4425”。
但是,如果我的查询不包含标点符号,则该产品不会显示在结果中。对于不包含标点符号的标题和包含的查询,我也有同样的问题。我不确定这应该如何处理。我尝试使用standard
我理解无视标点符号的分析器,但这并没有改善结果。它们大致相同。
因此,当我搜索“CenterG 5.2 Belt”或“centerg 52 Belt”时,我希望产品“CenterG 5.2 Drive belt for model number 4425”显示在我的结果顶部。
这是我的映射:
我也尝试过利用没有解决这个问题的 ngram 分析器。
这是我的查询:
elasticsearch - Elasticsearch 两个 multi_match 查询
我有三个字段,name
我正在尝试搜索。我已经提升了任何排名高于. 但是,我仍然有一些情况与包含奇怪标点符号的术语不匹配,因此我想在and fields 字段上进行模糊搜索来完成我的查询。name.ngram
model_number
name
name
name.ngram
name.ngram
name
model_number
这是我最终想要的查询。如果我删除第二个 multi_match,则查询有效,但不包括模糊搜索。
我想最终像处理 ngram 一样对待模糊搜索,以便非模糊匹配排名第一,模糊匹配排名第二。如何添加允许此操作的第二个 multi_match 查询?
elasticsearch - 防止关键字填充 Elasticsearch
我正在使用 ES 7.3。我有一个包含标题、部件、型号等的产品索引。我遇到了关键字填充问题,因为某些产品可能在整个文档中多次包含相同的单词、部件或型号。
例如,型号可能在标题中出现两次,也在型号字段中出现。某些产品可能仅在标题中包含型号而不在型号字段中包含。由于该问题,这些产品难以排名。如何防止这种类型的关键字填充?这是我的代码。
字段:
询问:
更新
将unique
过滤器添加到我的映射中确实可以防止在同一字段上匹配重复值,但不会跨多个字段,这是我需要的。
ruby-on-rails - Elasticsearch 匹配字段=值(不包含)
我在通过 elasticsearch 搜索时遇到问题。我有product
字段索引title
和gender
当我进行查询时,default_field: title
我只需要获得结果gender=male
(不是女性或其他人)
询问:dress AND gender:male
结果包含两种性别:male
和female
和male,female
在我看来,gender:*
搜索所有包含male
但不完全匹配的值。如何正确查询?
我通过 Ruby on Rails 使用它