小编rae*_*ae1的帖子

如何在WPF ScrollViewer中增加滚动条宽度?

我正在小型设备上使用触摸屏,滚动条的自定义宽度并不好,因为我的要求之一就是手指手势都需要一切.

如何设置WPF ScrollViewer滚动条的宽度?

请注意,我不想更改设备上所有滚动条的宽度(可以通过Windows设置) - 只有我的应用程序中的滚动条.

wpf scrollbar scrollviewer width

32
推荐指数
4
解决办法
3万
查看次数

如何关闭NHibernate的自动(脏检查)更新行为?

我刚刚发现,如果我从NHibernate会话中获取一个对象并更改对象的属性,NHibernate会在没有调用的情况下自动更新提交对象Session.Update(myObj)!

我可以看到这可能会有所帮助,但作为默认行为,它似乎很疯狂!

更新:我现在理解持久性无知,所以这种行为现在显然是首选.我会在这里留下这个令人尴尬的问题,希望能帮助其他亵渎用户.

我怎么能阻止这种情况发生?这是默认的NHibernate行为还是来自Fluent NHibernate的AutoPersistenceModel?

如果没有办法阻止这个,我该怎么办?除非我忽略了这一点,否则这种行为似乎会造成一个混乱.

我从2009年8月18日开始使用NHibernate 2.0.1.4和Fluent NHibernate构建

难道这家伙的权利与他的回答

我还读过,重写事件监听器可能是解决这个问题的方法.但是,IDirtyCheckEventListener.OnDirtyCheck在这种情况下不会被调用.有谁知道我需要覆盖哪个监听器?

nhibernate

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

用Lucene扼杀英语单词

我正在Java应用程序中处理一些英文文本,我需要阻止它们.例如,从文字"amenities/amenity"我需要得到"amenit".

该功能如下:

String stemTerm(String term){
   ...
}
Run Code Online (Sandbox Code Playgroud)

我找到了Lucene分析仪,但它看起来太复杂了我需要的东西. http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/analysis/PorterStemFilter.html

有没有办法用它来阻止单词而无需构建分析器?我不了解所有分析仪业务......

编辑:我实际上需要一个词干+词形还原.Lucene可以这样做吗?

java lucene stemming porter-stemmer

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

NHibernate中的DateTime精度和NHibernate SchemeExport中对DateTime2的支持

然后我使用Fluent NHibernate及其自动化功能来映射以下简化的POCO类:

public class Foo
{    
public virtual int Id { get; set; }    
public virtual datetime CreatedDateTime { get; set; }    
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,CreatedDateTime字段将映射到SQL DateTime.但是,如果我进行测试以检查实体是否正确创建,则会失败.这是因为DateTime字段的精度不会保留到SQL数据库.我强调这背后的原因是MS SQL Server DateTime只能通过四舍五入到.000,.003或.007的增量来保持毫秒精度(请参阅http://msdn.microsoft.com/en-us/library /ms187819.aspx).因此,NHibernate在保存到商店时会截断毫秒数.这导致我的测试失败,当检查正确持久的字段,因为我的.NET DateTime保持其毫秒,但在保存已经失去其毫秒之后重新启动DateTime,因此两者不是真正相等.

为了解决这个问题,我将以下映射添加到Foo对象:

public class FooMap : IAutoMappingOverride<Foo>
{
    public void Override(AutoMapping<Foo> mapping)
    {
        mapping.Map(f => f.CreatedDateTime).CustomType("datetime2");     
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这个映射使得NHibernate将CreatedDateTime持久化为datetime2的SQL类型,它可以存储.NET DateTime可以的完整精度.这是一种享受,现在测试通过了.

然而,一次传递另一个失败:我检查架构导出的测试现在失败,出现以下错误:

System.ArgumentException : Dialect does not support DbType.DateTime2
Parameter name: typecode
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

at NHibernate.Dialect.TypeNames.Get(DbType typecode)
at NHibernate.Dialect.Dialect.GetTypeName(SqlType sqlType)
at NHibernate.Mapping.Column.GetDialectTypeName(Dialect dialect, IMapping mapping)
at NHibernate.Mapping.Table.SqlCreateString(Dialect dialect, IMapping p, String …
Run Code Online (Sandbox Code Playgroud)

nhibernate datetime timestamp fluent-nhibernate granularity

23
推荐指数
3
解决办法
2万
查看次数

失败时石英重试

假设我有一个以这种方式配置的触发器:

<bean id="updateInsBBTrigger"         
    class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="updateInsBBJobDetail"/>
    <!--  run every morning at 5 AM  -->
    <property name="cronExpression" value="0 0 5 * * ?"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

触发器必须与另一个应用程序连接,如果有任何问题(如连接失败),它应该每10分钟重试一次任务五次或直到成功.有什么方法可以配置触发器这样工作?

java quartz-scheduler

22
推荐指数
3
解决办法
3万
查看次数

如何使用SOLR copyField指令

我有一个相当简单的SOLR结构,它包含三个不同的领域:

id,文本和标签

schema.xml我设置以下内容

<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="AND"/>
<copyField source="tags" dest="text"/>
Run Code Online (Sandbox Code Playgroud)

但是,当我搜索仅显示为标记的单词时,则找不到该文档.

我在这里的问题是:copyField描述的任何分析仪运行(索引和查询),作为前发生在这里查询分析器之前或刚?


编辑

分析仪def:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory" />              
        <filter class="solr.SnowballPorterFilterFactory" language="German" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory" />              
        <filter class="solr.SnowballPorterFilterFactory" language="German" /> …
Run Code Online (Sandbox Code Playgroud)

indexing solr

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

如何识别文件夹中是否存在Lucene.Net索引?

我使用Lucene.Net来索引和搜索文档,我使用以下代码创建或打开索引(如果存在):

IndexWriter writer = new IndexWriter(@"C:\index", new StandardAnalyzer(), !IndexExists);

...

private bool IndexExists
{
    get
    {
        return ??
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如何IndexExists以简单的方式实施?我不需要抛出任何异常.

indexing search lucene.net full-text-search full-text-indexing

21
推荐指数
2
解决办法
6596
查看次数

NHibernate Session.Flush&Evict vs Clear

在我想要持久化对象然后通过从db(而不是会话)中获取它来证明它是持久化的测试中,我注意到以下内容之间没有区别:

// save it
session.Clear()
// fetch it
Run Code Online (Sandbox Code Playgroud)

要么

// save it
session.Flush()
session.Evict(_instance)
// fetch it
Run Code Online (Sandbox Code Playgroud)

我这个懒惰的程序员倾向于超过两行.有没有什么理由让我更喜欢这两行呢?

nhibernate session

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

(null)libc ++ abi.dylib:terminate调用抛出异常

我使用Xcode 4.5PR和iOS 6beta 2.

我没有更改任何代码,我的应用程序抛出标题中提到的异常.

我用Debug Window这个函数引起了这个异常,但它显示了

0x38dda960:  push   {r4, r5, r6, r7, lr}
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到问题?我该如何解决?

xcode objective-c-2.0 ipad ios

18
推荐指数
2
解决办法
4万
查看次数

正则表达式几乎完美的数值

我有这个REGEX 几乎完美......它似乎处理除了带负号然后是小数的数字之外的所有内容.所以,如果我输入:

-.2
Run Code Online (Sandbox Code Playgroud)

我收到一个错误 -

这是我的正则表达式 - 我测试过的其他所有内容都完美无缺...

^(\+|-)?[0-9]{1,11}?(?:\.[0-9]{1,4})?$
Run Code Online (Sandbox Code Playgroud)

这允许:

  • 最多11位数(99亿)
  • 正数或负数
  • 最多4位小数(可选)
  • 小数点前的前导0是可选的 - 仅适用于正数

这一切都有效:

-0.2345
-10
12
.125
0.1245
5.555
25000000000 (aka 25 Billion)
25000000000.25 
Run Code Online (Sandbox Code Playgroud)

这些不起作用:

-.2
-.421
Run Code Online (Sandbox Code Playgroud)

c# regex

18
推荐指数
2
解决办法
773
查看次数