ElasticSearch 导入数据的一个坑

转载 2018年04月16日 10:52:45

今天使用 ES 时,碰到一个坑,估计其他同学或许也会碰到,特此分享一下。

step 1 Model

  1. BetOrder 是一个订单的 model,搜索时我打算使用 term query。我把 mapping 设置为 index: 'not_analyzer' ,故意不分词,以便精确搜索。
  2. Gem 用的是 elasticsearch-rails
# model/bet_order.rb


# Set up index configuration and mapping
# Searching tokens exactly
settings do
  mappings do
    indexes :title,        index: 'not_analyzed'
    indexes :nickname,     index: 'not_analyzed'
    indexes :user_key,     index: 'not_analyzed'
    indexes :out_trade_no, index: 'not_analyzed'
    indexes :trade_no,     index: 'not_analyzed'
    indexes :buyer_email,  index: 'not_analyzed'
  end
end

step 2 导入数据

BetOrder.import

step3 悲剧了,导入数据后 mapping 不对

然后是debug 呀,debug。。。。。

翻来覆去的找,没找到原因,最后去翻了翻 elasticsearch-rails 的源码,原来导入数据的时候需要加上参数 force: true,才会根据 mapping 创建索引。

BetOrder.import force:true

源码地址:

https://github.com/elasticsearch/elasticsearch-rails/blob/fb8bfd91f6f5f9c1473dd920738456bb1114bcdc/elasticsearch-model/lib/elasticsearch/model/importing.rb#L98

问题解决,上一个正常 mapping

转自:https://ruby-china.org/topics/21352

深圳CSDN网友探望阿紫、随风照片纪实

2003年4月19日上午,深圳CSDN网友探望了因被袭受伤在深圳市北京大学医院住院部6楼骨外科加2床住院的阿紫和随风,以下是这次慰问中拍下的一些照片;照片拍的不好,扫描处理得也很糟,但希望能借此使得全...
  • trybird
  • trybird
  • 2003-04-23 23:21:00
  • 781

Elasticsearch 批量导入数据

前言 Elasticsearch 是一款非常高效的全文检索引擎。 Elasticsearch 可以非常方便地进行数据的多维分析,所以大数据分析领域也经常会见到它的身影,生产环境中绝大部分新产生的数...
  • u013063153
  • u013063153
  • 2017-03-10 10:18:31
  • 10879

elasticsearch 批量导入数据

环境虚拟机:centos7 操作系统:win7 elasticsearch:5.4.3摘要假设你有一批现成的数据,比如:这里,你先把其复制保存在文件名为accounts.json的文件中。这里特别...
  • u013066244
  • u013066244
  • 2017-07-11 15:10:34
  • 1127

ElasticSearch数据导入和搜索的流程简析

数据导入流程1,原始数据以Mysql为例,就是一个数据表,表结构如下:CREATE TABLE `twitter_tweet` ( `id` int(11) NOT NULL AUTO_INCRE...
  • san1156
  • san1156
  • 2017-07-24 13:51:06
  • 210

elasticsearch从mysql导入数据

elasticsearch从mysql导入数据
  • ggz631047367
  • ggz631047367
  • 2015-12-27 21:00:40
  • 13690

ElasticSearch中批量导入数据: _bulk命令

在使用Elasticsearch的时候,bulk批量导入
  • bsh_csn
  • bsh_csn
  • 2016-12-28 09:33:14
  • 1314

2-Elasticsearch集群数据批量导入

1、数据形式我们采用Person的作为数据出发点,将文件中的序列化为Json的Person对象导入Elasticsearch集群中。1.1 数据类型public class Person { ...
  • f59130
  • f59130
  • 2017-07-03 09:25:38
  • 1312

elasticsearch数据导入

1.工具安装 ​ 下载数据导入工具包 elasticsearch-jdbc-2.3.4.1-dist.zip,可以到官方网站上下载, 由于github上是只有原代码,没有编译好的可执行包,可...
  • kao123yaojinqian
  • kao123yaojinqian
  • 2017-01-14 15:27:50
  • 1071

Logstash 导入数据到Elasticsearch

input { jdbc { jdbc_driver_library => "/path_to_mysql/mysql-connector-java-5.1.40.jar" ...
  • star782528086
  • star782528086
  • 2017-11-25 18:59:32
  • 248

elasticsearch走过的一些坑

Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了。如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题。   这里有两种方式修改Ela...
  • gtsina
  • gtsina
  • 2017-01-18 10:15:36
  • 731
收藏助手
不良信息举报
您举报文章:ElasticSearch 导入数据的一个坑
举报原因:
原因补充:

(最多只允许输入30个字)