我正在使用 lucene 4.0.0 版和 compass 2.2.0 在 Mysql 中存储 lucene 索引。
我收到以下错误并坚持下去。
Exception in thread “main” java.lang.NoSuchMethodError: org.apache.lucene.store.IndexInput: method ()V not found
而且你能告诉我哪个会表现更好。将索引存储在 FS 或 DB 中?
我正在使用 lucene 4.0.0 版和 compass 2.2.0 在 Mysql 中存储 lucene 索引。
我收到以下错误并坚持下去。
Exception in thread “main” java.lang.NoSuchMethodError: org.apache.lucene.store.IndexInput: method ()V not found
而且你能告诉我哪个会表现更好。将索引存储在 FS 或 DB 中?
Lucene 4.0 涉及 API 的重大更改,Compass 无疑不支持。Compass 的开发在两年多前就停止了。
正如 Compass 的创建者在这篇博文中所解释的那样,该项目实际上已被ElasticSearch取代。您应该考虑改用 ElasticSearch。
就存储索引而言,将其存储在文件系统中。据我所知,Compass 的数据库存储功能还没有被引入 ElasticSearch。坦率地说,这似乎是一个奇怪的功能,我只能假设它会影响性能,尽管我还没有找到任何明确解决这个问题的资源。我建议不要尝试在数据库中存储索引,除非您有充分的理由确实需要这样做。