【问题标题】:RavenDB: How do I find/use custom Analyzers when in Embedded/RunInMemory mode?RavenDB:在 Embedded/RunInMemory 模式下如何查找/使用自定义分析器?
【发布时间】:2013-10-22 04:45:32
【问题描述】:

我想在我的 RavenDB 实现中使用this Alphanumeric Analyzer。我让它在我的暂存环境(实际的 RavenDB 服务器安装)中工作,但是在我的开发环境(VS2013)中运行单元测试时遇到了麻烦。我在单元测试期间创建了索引,当 RavenDB 无法找到自定义分析器时,它们的创建失败。

我了解,对于已安装的 RavenDB 服务器,您将已编译的 DLL 放入 \Analyzers\ 并重新启动服务器以识别分析器。但是,当 RavenDB DocumentStore 从 EmbeddableDocumentStore 在内存中运行时,我该如何实现?我尝试在项目的 \bin\Debug\ 的多个位置创建一个包含 DLL 的 \Analyzers\ 目录,但这似乎没有任何作用。

我花了几个小时浏览 RavenDB 文档和各种 Google 结果,但无济于事。如果答案发布在某个地方,它似乎被埋得很深,很难找到。

【问题讨论】:

    标签: ravendb


    【解决方案1】:

    只需在您的测试项目中添加对分析器程序集的引用即可。它在哪个目录中并不重要。假设您的索引使用该分析器以及程序集的完整限定名称,它应该选择它。

    【讨论】:

    • 现在看起来很简单,但我从来没有想到过。谢谢!
    • 我们在构建脚本中添加了一个步骤来复制分析器 dll。当您不想向解决方案添加其他依赖项时,这很有效。
    • 如果您使用的是旧版本的 Raven.Database,这可能不适合您。在我让它工作之前,我必须更新到最新的 (3.5)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多