Apache Ignite .NET 2.3.0を使用する Linq拡張(Apache.Ignite.Linq)を使用して検索しようとしています。Apache Ignite.NET SQLが英語以外の文字を検索しない
構成:
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; }
}
検索文字列は、検索に使用するには何が必要すべてのフィールドからマージされたデータが含まれています。このように:
Открытоеакционерноеобщество "Рогаикопыта " #☢#システムズオープン合資会社#☢#ОАО "РиК" #☢#Ssys#☢#335468321#☢#bner#☢# ОАО "РиК" #☢# システムのオープン合資会社#☢#Открытоеакционерное общество "Рогаикопыта" #☢#システム オープン合資会社#☢#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エンコードのバグ。
郵便配達不一致です。 https://github.com/postmanlabs/postman-app-support/issues/2263 URLエンコーディングのバグ。 – aleha