wssql总是返回零行

时间:2010-06-09 04:39:43

标签: c# windows search full-text-search

我正在使用windows search 4.0服务(wssql)查找一些文件,它在我的计算机上工作正常但在我们的服务器上有两个驱动器C:和D:在搜索D时总是返回0行:

此外,我不确定它是否相关,但cd d:在命令提示符下返回c:。

编辑:好吧,当我指定scope ='D:'时,它只会返回零行,同样的事情发生在c盘中。该驱动器也不是网络驱动器。

2 个答案:

答案 0 :(得分:0)

只有索引共享而不是映射的网络驱动器,才能执行此操作,与上面的MLNY相同。本地文件获取类似c:\ foo \ bar.txt的路径,但如果您共享它们并查询本地索引,就好像它是远程共享一样,路径将变为\ server \ share \ foo \ bar.txt。通过UNC / FAT协议处理程序索引的共享路径自然是\ server \ share \ dir \ file.txt,无需转换任何内容。但是映射的网络驱动器都不是,所以它们的路径是z:\ foo \ bar.txt,无法自动转换。

出于某种原因,我们不会开箱即用。当我们使用本地文件系统打开我们索引的文件时,SMB协议不允许我们偏离其他应用程序的方式,因此索引器可能会在您更改文档时锁定它们。像Microsoft Office这样的编辑真的不喜欢这样。此外,本地NTFS驱动器提供更改日志,因此我们不必在每次启动时重新抓取所有内容,以确保在我们不查看时没有任何更改。 FAT和SMB共享没有这样的日志,因此索引器将在每次启动时重新抓取所有内容,从而导致大量网络流量。如果有很多客户端,同时启动它们(周一早上?)会对文件服务器造成DDoS攻击。我们宁愿你索引它们的文件并远程查询它们。

答案 1 :(得分:0)

事实证明,可以指定协议,并且在未指定时系统之间的结果会有所不同。添加文件:到路径生成正确的输出。