gpt4 book ai didi

c# - Apache Ignite.NET SQL 不搜索非英文字符

转载 作者:行者123 更新时间:2023-11-30 14:46:48 25 4
gpt4 key购买 nike

使用 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-Stock Company#☢#Открытое акционерное общество "Рога и копыта"#☢#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,结果相同。我应该将文本转换为特定的编码吗?

self 解决

这是 postman 的错。 https://github.com/postmanlabs/postman-app-support/issues/2263 url 编码错误。

最佳答案

你能分享一个示例项目复制器吗?

我更新了几个测试,它们在类似情况下运行良好。我没有更改编码或将文本转换为某种特定编码,它默认为 UTF-8。

关于c# - Apache Ignite.NET SQL 不搜索非英文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com