You might want to consider Apache Solr. Although Solr uses a schema, it also supports dynamic fields. Dynamic fields allow you to create new fields on the fly for the datatypes you choose to allow. For example, in Solr you can define a dynamic field like:
And then you can create integer fields dynamically with names like "somefield_i". Of course, you can use string types, date types, and many other kinds of types, such as text fields that support word stemming, synonym matching, and other search engine features.
Solr supports master-slave replication, spellcheck, and a host of other great features. It's document oriented and has a REST interface.
发布评论
评论(1)
您可能需要考虑 Apache Solr。尽管 Solr 使用模式,但它也支持动态字段。动态字段允许您为您选择允许的数据类型动态创建新字段。例如,在 Solr 中,您可以定义一个动态字段,如下所示:
然后您可以使用“somefield_i”等名称动态创建整数字段。当然,您可以使用字符串类型、日期类型和许多其他类型,例如支持词干、同义词匹配和其他搜索引擎功能的文本字段。
Solr 支持主从复制、拼写检查和许多其他出色的功能。它是面向文档的并具有 REST 接口。
更新:发现一篇不错的小博客文章,比较了 Solr 和 Elastic 搜索的索引:http://dmurphy747.wordpress.com/2011/04/02/solr-vs-elasticsearch-deathmatch/ ...不幸的是没有深入研究查询性能。
You might want to consider Apache Solr. Although Solr uses a schema, it also supports dynamic fields. Dynamic fields allow you to create new fields on the fly for the datatypes you choose to allow. For example, in Solr you can define a dynamic field like:
And then you can create integer fields dynamically with names like "somefield_i". Of course, you can use string types, date types, and many other kinds of types, such as text fields that support word stemming, synonym matching, and other search engine features.
Solr supports master-slave replication, spellcheck, and a host of other great features. It's document oriented and has a REST interface.
Update: Found a nice little blog post comparing indexing with Solr and Elastic search: http://dmurphy747.wordpress.com/2011/04/02/solr-vs-elasticsearch-deathmatch/ ... unfortunately doesn't dive into query performance.