ruby-on-rails - ElasticSearch:更改文本的索引版本

标签 ruby-on-rails elasticsearch

在索引字段中的文本之前,我想在其上运行代码以对其进行转换,基本上是https://www.elastic.co/guide/en/elasticsearch/reference/master/gsub-processor.html发生的事情(但该功能尚未推出)。

例如,我希望能够将字段中的所有.转换为索引版本的-

有什么建议吗?在elasticsearch-rails中执行此操作。

最佳答案

使用char_filter将所有.替换为-,但这将更改索引术语的字符,而不是_source本身。像这样:

        "char_filter" : {
            "my_mapping" : {
                "type" : "mapping",
                "mappings" : [
                  ". => -"
                ]
            }
        }

或者将Logstash与mutate and gsub filter一起使用,以在将数据发送到Elasticsearch之前对其进行预处理。或者,您可以在自己的索引器中执行此操作(无论如何)。

关于ruby-on-rails - ElasticSearch:更改文本的索引版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40197496/

相关文章:

mysql - rails 将 geoip 资源保存在同一个数据库或分离的数据库中哪个更好?

ruby-on-rails - 如何在 Rails 中显示 "Extend" View

javascript - jMapping V2.0 : not drawing markers in Rails 3 + jQuery-UJS project

linux - 难以浏览 Kibana 3

elasticsearch - 重新索引期间的 Elasticsearch 无痛脚本问题

ruby-on-rails - RSPEC - 在加载时从文件恢复数据库

ruby-on-rails - 修复未定义方法的最佳方法

elasticsearch - 在关键字分析字段上应用html_strip和小写字母过滤器

elasticsearch - 没有指定字段的简单查询在整个 ElasticSearch 索引中搜索

python - json.dump() 将类型从 `dict` 更改为 `NoneType`