问题列表 - 第5238页

数据库中的名字变体

我试图确定在数据库中查找名字变体的最佳方法.例如,我搜索比尔史密斯.显然,我希望它回归"比尔史密斯",但我还希望它能归还"威廉史密斯",或"比利史密斯",甚至"威利史密斯".我最初的想法是建立一个名字层次结构,但我不知道在哪里可以获得这样的数据,如果它甚至存在的话.

由于用户可以搜索目录,我认为这将是一个关键功能.例如,我上学的人叫我乔,但我现在总是去约瑟夫.因此,我正在寻找使用NYSIIS或Double Metaphone对姓氏进行语音搜索,然后使用此名称heirarchy搜索名字.有没有更好的方法来做到这一点 - 也许某种分级相关性使用全名搜索全名而不是对名字和姓氏进行两部分搜索?我的一部分认为,如果我将名称存储为单个值而不是多个值,它可能会以更多的搜索选项为代价,代价是能够通过名字来解决用户问题.

至于平台,我使用SQL Server 2005 - 但是,我没有问题将一些匹配转移到代码中; 例如,为用户预先播种语音键,因为它们不会改变.

任何想法或指导将不胜感激.无数的搜索几乎空了.谢谢!

编辑:似乎功能上有两个截然不同的阵营,我现在肯定坐在中间.我可以看到全文搜索的论点 - 很可能是缺乏数据规范化,而且是一个多部分方法,它对名称的不同部分使用不同的标准.

问题最终归结为用户意图.比尔/威廉的例子很好,因为它根据使用的形式显示了名字的变异.我认为构建名称层次结构是更准确(和可扩展)的解决方案,但会更加复杂.模糊搜索方法以牺牲准确性为代价更容易实现.这是一个公平的比较吗?

解决方案:在做了一些测试后,我决定采用一种方法,初始注册将采用全名,我会将其分成多个字段(forename,surname,middle,suffix等).由于我确信它不会很完美,我将允许用户编辑"部件",包括添加首页或备用名称.就搜索而言,无论是在数据库表中还是作为同义词库,我都需要使用任一解决方案来维护存在的变体.在这种情况下,两者都没有优势.我认为它将取决于性能,我将不得不实际运行一些基准来确定哪个是最好的.谢谢大家,感谢您的投入!

sql sql-server algorithm database-design data-structures

10
推荐指数
1
解决办法
4288
查看次数

调用file.close()后,为什么Python不释放文件句柄?

我在使用Python 2.5的Windows上.我有一个用于写作的开放文件.我写了一些数据.调用文件关闭.当我尝试使用Windows资源管理器从文件夹中删除文件时,它会出错,并说进程仍然保存文件的句柄.

如果我关闭python,然后再试一次,它就会成功.

python

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

哪里可以获得西班牙语数据库< - >英语翻译?

对于我正在编写的程序,我需要一个西班牙语和英语单词之间的字典.我google了一段时间,但我找不到任何免费的数据库.有人知道在哪里或如何获得这样的数据库(最好是简单的CSV或XML文件)?

到目前为止,创建这样一个字典的最佳想法是创建一个在维基百科上查找英文单词的小程序,并使用语言链接提取正确的翻译.但是我不想仅仅为了生成这个数据库而向维基百科发出一百万个请求......

我不需要任何花哨的东西,只需要从一个单词到一个单词的映射,或者可能需要多个单词的翻译.就像一本普通的字典.

database language-agnostic translation vocabulary

9
推荐指数
1
解决办法
4951
查看次数

如何在基于Debian的Linux上的Eclipse中解决TPTP Monitor错误(IWAT0435E)?

在Eclipse Ganymede中安装测试和性能工具平台之后,每当我尝试分析Java应用程序时,我都遇到了启动配置对话框,其中包含以下错误:

Error IWAT0435E could not connect to host
Run Code Online (Sandbox Code Playgroud)

这个问题是如何解决的?

ubuntu debian eclipse-tptp

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

生成独特的有序毕达哥拉斯三胞胎

这是我写的计算毕达哥拉斯三胞胎的程序.当我运行程序时,由于if语句,它会打印两组三元组.有什么办法我可以告诉程序只打印一组新的三元组吗?谢谢.

import math

def main():
    for x in range (1, 1000):
        for y in range (1, 1000):
            for z in range(1, 1000):
                if x*x == y*y + z*z:
                    print y, z, x
                    print '-'*50

if __name__ == '__main__':
    main()  
Run Code Online (Sandbox Code Playgroud)

python math

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

存储库模式中的事务

如何使用存储库模式以事务方式封装多个实体的保存?例如,如果我想根据订单创建添加订单并更新客户状态,但只有在订单成功完成时才会这样做?请记住,对于此示例,订单不是客户内的集合.他们是自己的实体.

这只是一个人为的例子,所以我并不关心订单是否应该在客户对象内部,甚至不在同一个有限的上下文中.我真的不在乎将使用什么底层技术(nHibernate,EF,ADO.Net,Linq等).我只是想看看一些调用代码在这个公认的全有或全无操作示例中的样子.

design-patterns domain-driven-design architectural-patterns repository-pattern

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

在.NET中实现自定义TraceListener

我正在寻找实现TraceListener的最佳实践,该TraceListener将从ASP.NET应用程序在SQL Server中写入日志.

在实施这样的课程时应该考虑哪些因素以避免降低性能?

存储过程是否会比普通的ADO.NET INSERT语句更快?

我真的很喜欢将日志写入临时内存缓冲区并在稍后从后台线程将其刷新到数据库的想法,但是哪种数据结构最适合这种情况?Queue <T>似乎是一个很好的候选者,但如果没有一些同步机制我就无法添加元素.

我在互联网上发现了一篇文章,其中显示了一个自定义TraceListener的示例,该示例写入SQL Server,但在将其放入生产代码之前,我希望得到更多反馈.

.net sql-server logging

11
推荐指数
2
解决办法
2768
查看次数

为什么输入密码2次?

在注册用户部分的大多数站点上,他们希望您输入密码2次.这是为什么?为什么不输入密码只输入一个?为什么你要"确认"它.

你懂

Username
Password
Confirm password

Submit

这已经在我脑海中浮现了一段时间......

希望有人能回答这个问题.

谢谢

usability user-interface

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

cygwin ssh没有腻子吗?

我生成了一个带有putty w/no passphrase的密钥.putty工作正常,但现在我安装了cygwin并想使用ssh登录.出于某种原因,我被提示输入密码?为什么?腻子只是直接登录?我不想生成新密钥并惹恼网络管理员.这是它在cygwin中的样子:$ ssh -i Documents\and\Settings/xxxxx/My\Documents/xxxxx\putty\keys/private\key.ppk dev.xxxxxx.com输入密钥'文件和设置/的密码xxxxx/My Documents/xxxxx putty keys/private key.ppk':Permission denied(publickey).

ssh cygwin putty passphrase

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

Objective-C使用#import和继承

我有一个名为"foo"的假设UIViewController类.foo继承自类bar和class bar #import的"Class A",这是foo广泛使用的一个类.问题是,当我在foo中使用类A的实例时,我没有得到任何编译器错误,但我确实得到一个警告,例如,类A的实例不响应特定方法.我是否必须将#Amport ClassA.h显式转换为类'foo'?即使class foo扩展了吧,已经进口了吗?

希望这不会太混乱.如果我需要澄清任何事情,请告诉我.

cocoa cocoa-touch objective-c c-preprocessor

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