【发布时间】:2016-04-03 23:02:56
【问题描述】:
我正在使用 Elasticsearch 的 XContentBuilder 创建文档类型映射的 JSON 表示:
XContentBuilder mapping = XContentFactory.jsonBuilder();
mapping.startObject()
.startObject("someType")
.startObject("_ttl")
.field("enabled", true).field("default", "90d")
.endObject()
//... and so forth. The full declaration is about 100 lines long.
映射大小适中——总共有大约 30 个 .startObject() 调用和 60 个 .field() 调用。
声明这个mapping 对象会导致 Intellij 响应非常缓慢的语法高亮/错误检查。如果我在同一个文件中的任意位置键入int x = "";,IDE 需要大约 20 秒的时间来突出显示错误的行。如果我将我的mapping 对象减小到大约一半大小,与正常的亚秒级响应相比,IDE 仍然需要 4 秒来响应。请注意,自动项目制作过程(我在 IntelliJ 设置下选择了“自动制作项目”)以正常速度执行。
这是 IntelliJ 的“错误”,还是工厂方法不应该被如此广泛地链接?将链分解为许多较小的调用可以解决问题,但有更好的方法吗?
其他信息:
使用 IntelliJ 15.0.2 终极版
Windows 7,64 位,8GB RAM,Core i5-4430(四核)@ 3.00GHz
同时运行 2 个虚拟机和 Eclipse IDE,从未出现性能问题
【问题讨论】:
标签: java elasticsearch intellij-idea