首页 > 解决方案 > 当文本转换为大写时,Windows Search 无法找到文件

问题描述

我对 Windows 搜索引擎有一个奇怪的问题。当我在 Windows 10 开始菜单搜索栏中搜索希腊词 Όρος 时,我得到了预期的结果。

当我通过 VB.Net 搜索时,找不到任何结果。我已将问题缩小到最后一个字母“ς”。删除它可以让搜索成功。任何人都知道问题可能是什么?

Dim t As String
t = UCase("Όρο")   ' success
't = UCase("Όρος")  ' fails

Dim connection = New OleDbConnection("Provider=Search.CollatorDSO;Extended Properties=""Application=Windows""")

Dim query1 = "SELECT System.ItemName FROM SystemIndex " +
    "WHERE System.ItemName LIKE '%" & t & "%'"

connection.Open()

Dim Command = New OleDbCommand(query1, connection)

Dim r

Try
    r = Command.ExecuteReader
Catch
    Debug.WriteLine("Search failed!")
    Return
End Try

Dim c = 0

While (r.Read())
    c += 1
    Debug.WriteLine(r(0))
End While
Debug.WriteLine("Total:" & c)

标签: vb.netwindows-searchwds

解决方案


所以据我所知,这似乎是图书馆中的一个错误。

谷歌搜索后,发现以下相关文章,

https://channel9.msdn.com/coding4fun/articles/Searching-the-Desktop

搜索System.ItemNameDisplay而不是System.ItemName

更新了我的查询以使用替代字段,它按原样工作。


推荐阅读