Apache Ignite.NET SQL不搜索非英文字符
使用Apache Ignite .NET 2.3.0尝试使用Linq扩展(Apache.Ignite.Linq)进行搜索。
组态:
CacheConfiguration = new[] { new CacheConfiguration { QueryEntities = new [] { new QueryEntity(typeof(string), typeof(SecuritiesItem)) { Fields = new [] { new QueryField { Name = "SearchString", FieldType = typeof(string)} } } } } }
SecuritiesItem定义:
public class SecuritiesItem { /* all other fields */ public string ShortName { get; set; } public string SearchString { get; set; } }
SearchString包含需要在搜索中使用的所有字段的合并数据。 像这样:
Открытоеакционерноеобщество“Рогаикопыта”#☢#Systems Open Joint-Stock Company#☢#ОАО“РиК”#☢#Ssys#☢#335468321#☢#bner#☢#ОАО“РиК”#☢#Systems Open Joint-股份公司#☢#Открытоеакционерноеобщество“Рогаикопыта”#☢#Systems Open Joint-Stock Company#☢#RU003572593#☢#1-22-22222-A
像这样搜索:
_securitiesCache .AsCacheQueryable() .Where(s => s.Value.SearchString.Contains(query)) // or .Where(s => s.Value.SearchString.ToLower().IndexOf(query) != -1) .ToArray() .Select(x => x.Value);
所以,如果我搜索“开放” – 它会正常发现。 但如果我搜索“Откр”,则没有找到结果。
尝试使用’==’搜索对象中的特定字段,如ShortName,结果相同。 我应该将文本转换为特定的编码吗?
SelfResolved
这是邮差。 https://github.com/postmanlabs/postman-app-support/issues/2263 url编码中的错误。
你能分享一个示例项目复制器吗?
我更新了几个测试,他们在类似的情况下工作正常。 我没有更改编码或将文本转换为某些特定的编码,默认情况下它是UTF-8。
- 使用Postman上传ASP核心WebApi测试文件
- 任何方式来命名相同类型的倍数?
- EF Core – 表’* .__ EFMigrationsHistory’不存在
- 将ArrayPool对象提供给JsonOutputFormatter构造函数
- 在VS2017中将依赖程序集包含在NuGet包中
- CS0433:两者中都存在“List ”类型
- hosting.json有什么意义,因为appsettings.json就足够了
- 将Env Conn字符串注入.NET Core 2.0 w / EF Core DbContext中的不同类lib比启动prj并实现IDesignTimeDbContextFactory
- 如果MSB3277出现在asp net core app中该怎么办