如何安装和设置 RavenDb 索引复制

2024-01-10

r我已经查看了这些问题以及 RavenDb 文档。有一点在RavenDb 索引复制文档 http://ravendb.net/bundles/index-replication但似乎没有关于如何/何时/何处创建 IndexReplicationDestination 的任何指导

我们的用例非常简单(它是一个尖峰)。我们当前创建新对象(奶牛)并将它们存储在 Raven 中。我们有几个使用 LINQ 动态创建的查询(例如from c in session.Query<Cows> select c).

现在我看不到应该在哪里定义要复制的索引。有任何想法吗?我已经掌握了该捆绑包并将其添加到服务器目录中(我假设它应该位于RavenDB.1.0.499\server\Plugins where RavenDB.1.0.499\server包含 Raven.Server.exe)

Edit:谢谢 Ayende...下面和 ravendb 小组中的答案有帮助。有一个facepalm片刻。无论如何,这里的一些细节可能对其他人有帮助。这确实非常简单,而且确实“有效”:

a) 确保插件正在被拾取。您可以在统计信息中查看这些信息 - 可通过 /localhost:8080/stats url 获取(假设默认设置)。您应该会在“扩展”中看到与 IndexReplication 捆绑包相关的条目。

如果不存在,请确保 DLL(捆绑包和服务器)的版本相同

b) 确保您要复制的索引已创建。它们可以通过客户端 API 或 HTTP API 创建。

客户端API:

public class Cows_List : AbstractIndexCreationTask<Cow>
{
    public Cows_List()
    {
        Map = cows => from c in cows select new { c.Status };
        Index( x => x.Status, FieldIndexing.Analyzed);
    }
}

HTTP API(在工作室中): //奶牛/列表 文档.Cows .Select(q => new {Status = q.Status})

c) 创建复制文档。这里的线索是文档。就像存储的所有内容一样,它也是一个文档。因此创建后必须将其存储在 Db 中:

varreplicationDocument = new Raven.Bundles.IndexReplication.Data.IndexReplicationDestination { Id = "Raven/IndexReplication/Cows_List", ColumnsMapping = { {"状态", "状态"} }, ConnectionStringName =“报告”,PrimaryKeyColumnName =“Id”, 表名 = "cowSummaries" }; session.Store(replicationDocument); 会话.SaveChanges();

d) 确保客户端中有以下内容(例如 MVC 应用程序或控制台)

e) 创建 RDBMS 模式。我在“cowReports”中有一张表:

创建表 [dbo].[cowSummaries]( [Id] nvarchar NULL, [状态] nchar NULL)

我的具体问题是没有将索引文档添加到存储中。我知道。facepalm。当然一切是一个文件。奇迹般有效!


您需要定义两件事。 a) 将文档转换为行形状的索引。 b) 告诉 RavenDB 连接字符串名称、表名称和要映射的列是什么的文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何安装和设置 RavenDb 索引复制 的相关文章

随机推荐

  • 如何通过HardHat获取底层合约地址的私钥?

    我有 HardHat 教程中的智能合约https hardhat org tutorial writing and compiling contracts html https hardhat org tutorial writing an
  • Google Deployment Manager Cloud Scheduler 类型

    我发现 GCP 没有提供时间表类型 我想知道创建模板 复合类型或类似模板以提供 Cloud Scheduler 类型的步骤 我知道 Google 已经提供了一个例子 https github com GoogleCloudPlatform
  • 无法使用运行 MAMP / PHP 5.6.1 / Mac OS X El Capitan 的 putenv() 修改 PATH

    配置 MAMP专业版 PHP 5 6 1 Mac OS X 埃尔卡皮坦 我需要添加 user local binphp可以访问的系统路径 我尝试过使用 putenv 但似乎我无法使用 putenv 更改 php 中环境变量 PATH 的值
  • 从代理返回异常

    我正在使用大量未记录的 Castle 动态代理系统 我已经设法让它完成我想要的几乎所有事情 除了一件事 如何使代理方法抛出异常而不是返回值 public sealed class MyInterceptor IInterceptor pub
  • JavaScript 中 array.length 可以小于 0 吗?

    由于人们经常使用 array length lt 1 检查数组是否为空而不是 array length 0 我想知道是否存在 array length 可能低于 0 的情况 No the length数组的 是一个非负整数 从the spe
  • 无法将文件分配给文件输入、Firefox 和 IE

    用户可以通过两种可能的方式启动文件传输 拖放到小部件 或使用多文件输入按钮 我喜欢如何使用多文件输入 它将用智能的 选择 8 个文件 或其他内容替换文件名字符串 为此 必须填充输入 我不想从 drop 事件中实际创建 xhr2 对象 而是只
  • 如何将 AWS RDS Aurora MySQL 5.6 升级到 5.7

    我们使用 AWS RDS Aurora MySQL 5 6 作为我们的生产数据库 AWS 于 2018 年 2 月 6 日推出兼容 MySQL 5 7 的 Aurora 引擎 我在 修改实例 中没有看到任何将引擎更改为 MySQL 5 7
  • 使用 jquery 按值选择下拉列表

  • Bash 脚本正则表达式

    我正在尝试匹配格式为 4 6 或 2 8 的字符串中的版本号 我最终将在 bashrc 文件中的函数中使用以下内容来查找操作系统版本 function test string abc ABC12 123 3 4 def echo expr
  • 是否有像 Win32 中的“CreateEvent()”那样的 C++ 跨平台“命名事件”?

    我正在寻找类似于 Win32 世界中的 CreateEvent SetEvent 和 WaitForMultipleObjects 的东西 具体来说 这必须可以在同一台机器上跨进程访问 我们已经在使用 Poco 来做一些跨平台的事情 但我不
  • 从 pandas DataFrame 插入 Access 数据库

    请有人告诉我应该如何插入到数据库中 而不是Python中的所有数据帧 我发现了这个 但不知道如何插入所有名为 test data 的数据框 其中包含两个数字 ID Employee id 我也不知道如何插入 ID 的下一个值 类似于 nex
  • 如何编译C程序?

    好久没做C了 我想编译这个程序 http csrc nist gov groups ST toolkit rng documentation software html 但我不知道如何继续 看起来 makefile 经常引用 GCC 但我从
  • 使用 Python 注入原始 TCP 数据包

    使用 Python 注入原始 TCP 数据包的合适方法是什么 例如 我有由十六进制数字组成的有效负载 并且我想将该十六进制数字序列发送到网络守护程序 这样 如果我选择发送 abcdef 我也会在线路上看到 abcdef 但不是 616263
  • Makefile 循环依赖

    这是我的 Makefile PHONY all homework1 CFLAGS g O0 Wall Werror Wno unused function LDFLAGS lm all homework1 homework1 program
  • 无法在Windows 8.1中的vagrant中安装插件hostmanager

    无法安装插件 显示以下错误 C devbox gt vagrant 插件安装 vagrant hostmanager 插件安装目录 Vagrant 主目录 里面有一个空格 在 Windows 上 Ruby 编译时存在错误 插件到带有空格的目
  • 设置特征通知会导致无效句柄错误

    我想使用 CoreBluetooth 将数据从 iPhone 发送到 Mac 为此 我编写了代码 例如将 iPhone 作为 外围设备 将 Mac 作为 中央设备 工作正常 但有时会直接断开 然后不断地连接和断开 有时 当它尝试重新连接时
  • 使用不带状态的 React

    我正在构建应用程序的 UI 并且正在探索无需使用状态即可更新 UI 下面的断言粗略地正确吗 我们不需要状态 因为它所做的只是当状态中的某些内容发生变化时自动调用组件上的渲染方法 我们可以通过自己调用相关组件的 render 方法来实现相同的
  • 为什么gdb提示“Unexpected size of section `.reg-xstate/xxxxx' in core file.”?

    我的操作系统是Debian 当使用gdb分析一个核心转储文件 会得到以下信息 Program terminated with signal SIGSEGV Segmentation fault warning Unexpected size
  • 使用 SQL 查询查找最近的纬度/经度

    我有纬度和经度 我想从数据库中提取记录 该记录具有距离最近的纬度和经度 如果该距离比指定的距离长 则不检索它 表结构 id latitude longitude place name city country state zip seale
  • 如何安装和设置 RavenDb 索引复制

    r我已经查看了这些问题以及 RavenDb 文档 有一点在RavenDb 索引复制文档 http ravendb net bundles index replication但似乎没有关于如何 何时 何处创建 IndexReplication