小编and*_*ndy的帖子

SOLR不搜索某些字段

刚刚安装了Solr,编辑了schema.xml,我现在正在尝试索引它并使用一些测试数据进行搜索.

在我发送给Solr的XML文件中,我的一个字段看起来像这样:

<field name="PageContent"><![CDATA[<p>some text in a paragrah tag</p>]]></field>
Run Code Online (Sandbox Code Playgroud)

那里有HTML,所以我把它包装在CDATA中.

在我的Solr中schema.xml,该字段的定义如下所示:

<field name="PageContent" type="text" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

当我运行POSTing工具时,一切正常,但是当我搜索我知道的PageContent字段内的内容时,我没有得到任何结果.

但是,当我将<defaultSearchField>节点设置为时PageContent,它可以工作.但是,如果我将它设置为任何其他字段,它不会搜索PageContent.

难道我做错了什么?有什么问题?


澄清错误:

我上传了一个包含以下数据的"doc":

<field name="PageID">928</field>
<field name="PageName">some name</field>
<field name="PageContent"><![CDATA[<p>html content</p>]]></field>
Run Code Online (Sandbox Code Playgroud)

在我的架构中,我已经定义了这样的字段:

<field name="PageID" type="integer" indexed="true" stored="true" required="true"/>
<field name="PageName" type="text" indexed="true" stored="true"/>
<field name="PageContent" type="text" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

和:

<uniqueKey>PageID</uniqueKey>
<defaultSearchField>PageName</defaultSearchField>
Run Code Online (Sandbox Code Playgroud)

现在,当我使用Solr管理工具并搜索" some name"时,我得到一个结果.但是,如果我搜索" html content"," html"," content"或" 928",我就没有结果

为什么?

indexing solr

6
推荐指数
1
解决办法
1万
查看次数

在生产环境中使用StackTrace类来获取调用方法信息

我们有一个"log"类,它使用Relection.MethodBase将当前类信息发送到日志.

reflection.MethodBase的东西发生在类本身.

但是,我想把这些东西移到一个外部的"log"单例类型类中.

在这种情况下,外部日志类需要获取CALLING信息,而不是当前方法信息.我正在使用stacktrace来执行此操作,这不在Reflection命名空间中.

我可以保证在生产环境中存在"那个"特定信息(调用方法)吗?

 var stackTrace = new StackTrace();
 return LogManager.GetLogger(stackTrace.GetFrame(1).GetMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

干杯!

.net c# reflection

6
推荐指数
1
解决办法
3006
查看次数

Visual Studio 2008中抽象方法的XML注释

假设您有一个带抽象方法的抽象类,并在这些方法上放置XML文档标记.

当你继承那个类并实现那些方法时,intellisense不会"继承"XML文档......?

有谁知道它是否可以使IDE继承文档?

如果没有,你不觉得这是一种奇怪的行为吗?

我认为我可能希望通用注释在类的实现中冒出来是完全可以接受的...当然,如果我评论一个实现,那么应该出现.

documentation intellisense visual-studio-2008

5
推荐指数
1
解决办法
691
查看次数

为什么将HasLoadedOrAssignedValue属性设置为true?

嘿,好,这是场景:

VS 2008 .NET 3.5 SP1,LINQ to SQL

我有一个产品实体,该实体具有一个ImageID字段,因此它与该图像实体有关系。所有这些都在模式和DBML中定义。

现在,假设我创建一个没有ImageID的新Product实体,并将其保存到DB。此时,实体的_Image字段已将HasLoadedOrAssignedValue设置为false。

现在,当我从数据库中检索该实体时,没有ImageID,即ImageID设置为null,并且附加给它的Image Entity也设置为null,HasLoadedOrAssignedValue设置为true。

现在,当我尝试将ImageID属性设置为有效的int时,我得到了ForeignKeyReferenceAlreadyHasValueException异常。

现在,我知道人们会说:“哦,您必须设置关系属性本身,因此,Product.Image = someImage,而不是Product.ImageID = 2”,但是我总是设置ID字段,并且它始终有效。 ..好吧,几乎总是

因此,我的问题是双重的:

  1. 为什么在不应该将HasLoadedOrAssignedValue设置为true时
  2. 更重要的是,为什么我会经历这种不一致的行为。我知道您不必总是直接设置实体属性,那么为什么这次不起作用?如果这是LINQ to SQL规则,那么为什么有时会破坏该规则?

干杯!

.net .net-3.5 linq-to-sql

5
推荐指数
1
解决办法
3787
查看次数

将SOLR与Web项目一起使用的最佳方法是什么?

好吧,我是SOLR和Lucene的新手,但是已经让Solr在Tomcat 6.x下运行开箱即用,并且刚刚完成了一些基本的Wiki条目.

我有几个问题,也需要一些建议.

  1. Solr可以索引文件(XML,CSV)中的数据,也可以索引DB.您是否也可以将其指向URI /域,并让它以谷歌的方式为网站编制索引?

  2. 如果我的网站有"页面"数据,那么"页面名称","页面内容"等,以及"产品数据",那么"产品名称","SKU"等,我是否需要两个不同的Schema.xml文件?如果是这样,这是否意味着两个不同的Solr实例?

最后,如果你有一个包含大型关系数据库和规范化数据库的项目,你会说下面3个选项的最佳方法是什么?:

  1. 在后台运行中间件服务,该服务挖掘数据库并手动创建相关的XML文件,然后发送到SOLR

  2. 让SOLR直接索引DB.在这种情况下,最好只将SOLR指向视图,这将抽象所有表关系?

  3. 还有其他我不知道的选择吗?

上下文:我们运行的是Windows 2003环境,.NET 3.5,SQLServer 2005/2008

干杯!

indexing search solr

5
推荐指数
1
解决办法
4126
查看次数

在SOLR中剥离HTML以进行存储,而不是索引

嘿伙计们,我在SOLR中索引数据时设法从内容中剥离HTML.

但是,在简单存储数据时是否可以从数据中删除HTML?

这是我的领域:

<field name="Content" type="textNoHTML" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)

并且,字段类型"textNoHTML"实现了solr.HTMLStripCharFilterFactory:

<charFilter class="solr.HTMLStripCharFilterFactory" />
Run Code Online (Sandbox Code Playgroud)

正如我所说,这适用于索引,但是是否可以应用类似的过滤器进行存储?

干杯!

indexing solr filtering

5
推荐指数
0
解决办法
6659
查看次数

在Visual Studio 2008中为.NET程序集生成NUnit单元测试的好工具

可能重复:
自动生成.NET单元测试

嘿伙计们,我对单元测试很新,所以请耐心等待.

我意识到最好的最佳实践不是自动生成单元测试,但是我想使用代码生成来设置测试的基本框架.

现在,我知道Visual Studio 2008已经内置了"创建测试",但是,它只是创建了一个它要测试的所有类的平面列表......而且它不适合NUnit吗?

理想情况下,我希望代码生成遵循其生成测试的程序集的文件夹AND名称空间结构.

你们能推荐一些能在Visual Studio 2008中为.NET程序集生成NUnit单元测试的好工具吗?

干杯!

.net nunit unit-testing code-generation visual-studio-2008

5
推荐指数
2
解决办法
3271
查看次数

使用Rspec + Capybara + Ember获得不一致的"无法找到css"错误

发生了什么

在我们的Rspec + Capybara + selenium(FF)测试套件中,我们得到了很多不一致的"Capybara :: ElementNotFound"错误.

问题是他们有时只会发生.通常它们不会在本地发生,它们会发生在CircleCi上,我希望机器更加强大(并且速度更快)?

当规范单独运行时,通常不会发生相同的错误,例如通过运行具有特定行号的rspec:42.

但是请记住,没有一致性.规范不会一直失败.

我们目前的解决方法 - 睡觉

目前,我们唯一能做的就是用'睡眠'来破坏规格.每当我们收到这样的错误时我们就会添加它们并修复它.有时候我们必须增加睡眠时间,这使得测试变得非常慢,你可以想象.

capybara的默认等待时间怎么样?

似乎没有踢我想象,因为测试通常在分配的等待时间(当前5秒)下失败

一些失败的例子.

这是一个常见的失败:

visit "/#/things/#{@thing.id}"
find(".expand-thing").click
Run Code Online (Sandbox Code Playgroud)

这通常会导致:

Unable to find css ".expand-thing"
Run Code Online (Sandbox Code Playgroud)

现在,在这两行之间进行一次睡眠就可以解决问题.但是睡觉太暴力了.我可能会花一秒钟,但代码可能只需要半秒钟.

理想情况下,我希望Capybara等待时间,因为它只需要等待,而不再等待.

最后的说明

我知道如果页面上不存在选择器,水豚只能做等待.但是在上面的示例中,您会注意到我正在访问页面并进行选择,因此该元素尚未在页面上,因此Capybara应该等待.

这是怎么回事?

selenium rspec ruby-on-rails capybara ember.js

5
推荐指数
1
解决办法
1435
查看次数

如何使用Rails 4.1预览可安装引擎内定义的电子邮件

我们SomeMailer在引擎内部设置了.生成邮件程序后,Rails会创建一个SomeMailerPreview类,并带有注释:

# Preview this email at http://localhost:3000/rails/mailers/some_mailer/test
Run Code Online (Sandbox Code Playgroud)

但是,一旦我Dummy在我的引擎中运行应用程序,该URL就无法解析.

引擎安装在根路径'/'上:

mount MyEngine::Engine => "/"
Run Code Online (Sandbox Code Playgroud)

我已尝试过将url与引擎名称的不同组合,但无法解决.

是否可以在引擎内使用预览功能?

actionmailer rails-engines ruby-on-rails-4

5
推荐指数
2
解决办法
687
查看次数

以编程方式运行'heroku run:detached'.究竟怎么样?

我已经尝试使用谷歌搜索和stackoverflowing这一切,我得到的是链接回API参考或缩放dynos的例子,这不是我想要的.

heroku run:detached 很棒,因为它只是用你的应用程序旋转一个dyno,运行你想要的任何东西,然后旋转dyno.

如何使用Heroku Platform AP I 实现完全相同的功能?

我见过人们提到你必须Dyno在API上使用端点,但是如何?有人可以提供一个关于如何从API运行以下内容的确切示例吗?

$ heroku run:detached --size 2x rake my_task.rb
Run Code Online (Sandbox Code Playgroud)

heroku

5
推荐指数
1
解决办法
2290
查看次数