vb.net - 当文本转换为大写时,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)
解决方案
所以据我所知,这似乎是图书馆中的一个错误。
谷歌搜索后,发现以下相关文章,
https://channel9.msdn.com/coding4fun/articles/Searching-the-Desktop
搜索System.ItemNameDisplay
而不是System.ItemName
更新了我的查询以使用替代字段,它按原样工作。
推荐阅读
- reactjs - 使用 React 更改点击宽度
- django - 如何在 drf_yasg 中标记整个 ViewSet?
- c# - 你们知道为什么当我运行脚本时,它没有按预期运行,但是当我在检查器中运行时,它可以工作?
- reactjs - 根据从 API 获取的数组重复渲染组件
- c# - 这是链接异步调用(C#/WPF)的正确方法吗?
- windows - 无法连接到 Docker 守护程序 WINDOWS
- oracle - 如何使用 oracle 数据库 10g 安装 oracle APEX 20.1
- linux - 如果我们的搜索/替换模式包含多个正斜杠,如何在 Vim/Linux 中搜索和替换?
- regex - 在 Scala 中匹配 IP 地址
- python - 如何从不和谐的成员那里获取角色名称