有谁知道任何文档数据库是否提供了良好的搜索功能?我看到RavenDb在某种程度上使用Lucene.net,但我正在寻找像Truffler.net客户端api给你的更集成的搜索体验.他们在Elasticsearch之上构建了一个.net客户端,它提供了很好的搜索功能.
我认为如果任何文档数据库客户端可以直接通过其客户端api提供类似的功能,那将是一个杀手级功能,但我不确定这是否可行.
我正在寻找一个与asp.net一起使用的NoSQL数据库,我来到了sisoDB.但据我所知,它使用Sql server来保存数据,所以它可以使用sql server功能,如安全性和....
这是对的吗 ?这种方法的优点和缺点是什么?
假设我有这样的结构
public class Form
{
public List<Field> Fields { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Field类可以是复合的,也包括从Field类派生的其他Fields ,所以我有一些层次结构.表单作为可靠文档保存到RavenDB中,它可以正常工作.我只是想知道Form从RavenDB 获取实例,我希望Raven创建适当的类(类,派生自Field类).所以,假设我有两个派生类FieldDerived1,FieldDerived2并将它们放入后面的Fields集合中,Form我希望有两个实际类型的元素 - FieldDerived1并且FieldDerived2我添加了这些类的所有附加属性?
我已经很长时间没有从头开始创建一个项目,现在面向文档的数据库(以及ODM)已经变得非常流行,所以我必须在盲目地走向关系路线之前考虑它们.
任何人都可以尝试列出可能导致一种选择或另一种选择的动机/项目标准吗?
我对连接文档的术语"链接"感到困惑
在OrientDB页面http://www.orientechnologies.com/orientdb-vs-mongodb/中,它声明它们使用链接来连接文档,而MongoDB文档是嵌入式的.
因为在MongoDB http://docs.mongodb.org/manual/core/data-modeling-introduction/中,也可以引用文档,我无法区分链接文档或引用它们.
我正在开发一个文档管理软件,我正在评估存储和搜索数据的noSql数据库.
总结当项目在目录和子目录中组织时,软件就像文件系统一样.
树的每个项目都可以有n个属性用于过滤和排序.
物品也可以最终与某种其他关系(父母除外)相互联系.
项目数量可能相对较大(数百万),并且应用程序的杀手级功能必须在检索数据(使用过滤器和按属性排序)方面具有恒定的性能,而不依赖于数据库增长.
我需要3个关键功能:
获取文件夹的直接子项.结果必须是每个文档属性的可分页,可排序和可过滤的
获取文件夹的所有子项(子树的所有项).结果必须是每个文档属性的可分页,可排序和可过滤的
获取文件夹的所有父母
我是noSql中的新手,实际上我使用的是rdbms(Sql Server),但我遇到了性能问题以及由文档属性的固定架构引起的所有限制.我正在评估OrangoDb或OrientDb,因为我认为它的功能(面向文档和面向图形)可能是我设计需求的最佳解决方案.
你能帮助我,给我一个关于设计数据库和查询这个3任务的建议吗?
铌.我需要查询的结果返回一个数据集,其中包含每个属性的列:
Es. doc1: p1: v1, p2: v2
doc2: p1: v1, p3: v3
result:
name | p1 | p2 | p3
doc1 v1 v2 null
doc2 v1 null v3
Run Code Online (Sandbox Code Playgroud)
我在想设计一个项目:
{
"_id": "_myItemId",
"name`enter code here`" : "Item1",
"itemType": "root / folder / file"
"parentItemId": "",
"properties" : [
{ name: "Property1", formatType: 0, formatMask: "", value: "Value1" },
{ name: "Property2", formatType: 0, formatMask: "", value: "Value2" }, …Run Code Online (Sandbox Code Playgroud) 我在 Azure 中有一个 DocumentDB 数据库,我通过 CosmosDB API 访问它。
我想通过一个简单的查询获取文档的所有父字段:
SELECT p.id
FROM parent p JOIN ch IN p.property1.child
WHERE CONTAINS(UPPER(ch.name), UPPER(@childName))
Run Code Online (Sandbox Code Playgroud)
这个查询有效,但我只得到 'id' 属性。我不能使用 p.* (抛出一个语法错误),而且这个列表将来可能会改变。使用 * 我收到此错误:'SELECT *' 仅对单个输入集有效。
有没有一种方法可以获取父文档的整个 json,而无需在 select 子句上编写完整的字段列表?
我有一个Employees集合,我想要检索10个员工的完整文档,我的ID要发送到我的SQL SELECT.我怎么做?
为了进一步澄清,我有10个EmployeeId,我想从Employees集合中提取这些员工的信息.我很感激你的帮助.
我正在接近文档数据库,但在以下情况下,我对如何映射文档关系有点困惑
public class Person
{
public Person()
{
}
public int Id { get; set; }
public string Name { get;set;}
public string Surname { get; set; }
public DateTime? BirthDate { get; set; }
}
public class Car
{
public Car() { }
public int Id { get; set; }
public string Name { get; set; }
public int PersonId { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
例如,一个人拥有一辆或多辆汽车,我可以按如下方式查询数据库
public Car Get(int id)
{
Car car = null;
using (IDocumentSession session = store.OpenSession()) …Run Code Online (Sandbox Code Playgroud) 微软宣布推出Azure DocumentDB如下......
A fully-managed, highly-scalable, NoSQL document database service.
- Rich query over a schema-free JSON data model
- Transactional execution of JavaScript logic
- Scalable storage and throughput
- Tunable consistency
- Rapid development with familiar technologies
- Blazingly fast and write optimized database service
Run Code Online (Sandbox Code Playgroud)
我非常喜欢"JavaScript逻辑的事务执行".听起来像一个类似于PostgreSQL NoSQL的方法.
任何人都知道Azure DocumentDB服务的技术基础是什么?SQL Server?