使用lucene对MongoDB建立索引的问题
@章彦儿 你好,想跟你请教个问题:
之前就在用lucene做全文检索,项目新换了MongoDB数据库,看到了您的用lucene对MongoDB做全文检索的方法,在运行的过程中遇到了一个问题,希望得到您的帮助。
数据库中的数据是千万级的,在建索引到一半的时候(大概4000万),出现了如下异常:
十二月 15, 2012 6:14:34 上午 com.mongodb.DBPortPool gotError
WARNING: emptying DBPortPool to /ip:27017 b/c of error
java.lang.UnsupportedOperationException: BSONDecoder doesn't understand type : -119 name:
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:226)
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:206)
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:196)
at org.bson.BasicBSONDecoder._decode(BasicBSONDecoder.java:79)
at org.bson.BasicBSONDecoder.decode(BasicBSONDecoder.java:57)
at com.mongodb.DefaultDBDecoder.decode(DefaultDBDecoder.java:56)
at com.mongodb.Response.<init>(Response.java:83)
at com.mongodb.DBPort.go(DBPort.java:124)
at com.mongodb.DBPort.call(DBPort.java:74)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:225)
at com.mongodb.DBApiLayer$Result._advance(DBApiLayer.java:452)
at com.mongodb.DBApiLayer$Result.hasNext(DBApiLayer.java:421)
at com.mongodb.DBCursor._hasNext(DBCursor.java:464)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
at Test.Demo.MongoIndex(Demo.java:96)
at Test.Demo.main(Demo.java:68)
Exception in thread "main" java.lang.UnsupportedOperationException: BSONDecoder doesn't understand type : -119 name:
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:226)
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:206)
at org.bson.BasicBSONDecoder.decodeElement(BasicBSONDecoder.java:196)
at org.bson.BasicBSONDecoder._decode(BasicBSONDecoder.java:79)
at org.bson.BasicBSONDecoder.decode(BasicBSONDecoder.java:57)
at com.mongodb.DefaultDBDecoder.decode(DefaultDBDecoder.java:56)
at com.mongodb.Response.<init>(Response.java:83)
at com.mongodb.DBPort.go(DBPort.java:124)
at com.mongodb.DBPort.call(DBPort.java:74)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:225)
at com.mongodb.DBApiLayer$Result._advance(DBApiLayer.java:452)
at com.mongodb.DBApiLayer$Result.hasNext(DBApiLayer.java:421)
at com.mongodb.DBCursor._hasNext(DBCursor.java:464)
at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
at Test.Demo.MongoIndex(Demo.java:96)
at Test.Demo.main(Demo.java:68)
刚刚接触这方面的东西,在网上找了好久也没有解决。希望得到您的帮助!谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
mongo 中数据格式中有大量的 这样的格式:数组, bson ,并且互相嵌套。初步怀疑是 数据的问题。代码估计要先重新组合下数据,在对其索引。在mysql中数据大部分, 是 数值,文本,字串 日期,型 比较简单。
捕捉一下出错的那条记录,在控制台下看看内容是什么,感觉好像是那条记录数据格式有问题