gpt4 book ai didi

azure - SQL Azure 与表存储 - 带有 "contains"的 queryig 实体参数

转载 作者:行者123 更新时间:2023-12-03 03:16:51 24 4
gpt4 key购买 nike

我正在使用 Azure 表存储,以了解它作为大数据项目的平台。作为测试数据,我使用 UK Companies House 数据源为我提供 350 万条英国公司记录。我已成功创建一个实体并将大量条目加载到我的表“Companies”中,但认为该模型对我不起作用,因为我的“搜索”或查询要求不仅仅是 PartitionKey 和 RowKey。

我的公司类如下所示:

public class Company : TableEntity
{

public Company() { }

public Company(string companyNumnber)
{
CompanyNumber = companyNumnber;


this.PartitionKey = "Company";
this.RowKey = companyNumnber;

RegAddress = new Address();
}

public String CompanyNumber { get; set; }
public Address RegAddress { get; set; }
public String CompanyName { get; set; }
public String PhoneNumber { get; set; }
public String CompanyCategory { get; set; }
public String CompanyStatus { get; set; }
public String CountryOfOrigin { get; set; }
public String DissolutionDate { get; set; }
public String IncorporationDate { get; set; }
public String URI { get; set; }

}

public class Address
{

public Address() { }

public String CareOf { get; set; }
public String POBox { get; set; }
public String AddressLine1 { get; set; }
public String AddressLine2 { get; set; }
public String PostTown { get; set; }
public String County { get; set; }
public String Country { get; set; }
public String PostCode { get; set; }
}

这一切都很好,我可以将实体加载到表存储中,并且可以根据 CompanyNumber 查询表,但我还需要查询 CompanyName 上的表,并且这不会仅限于 eq “等于”运算符...我需要能够对该属性执行“包含”操作,但看起来这是不可能的。

我说得对吗?如果是这种情况,解决方法是什么?在我看来,我“被困”在 SQL 中托管这 350 万条记录,然后使用表存储来存储带有 PartitionKey 公司编号的“相关”内容,然后以这种方式进行查找。

我希望它能够降低(SQL Azure)成本,但似乎我可能需要一种混合方法。

我很想听听其他人对此的评论。

最佳答案

看来您必须使用具有文本搜索功能的索引库,例如 this one .

Here is a relevant discussion on MS forums .

最终这一切都取决于您的需求,如果数据不是那么大,您可能需要使用 SQL azure,以便可以使用文本查询。

另一个选项是组织字段,以便您可以使用表查询支持的前缀匹配来搜索所需的字符串。 (您可以使用“StartsWith”查询而不是“Contains”)

关于azure - SQL Azure 与表存储 - 带有 "contains"的 queryig 实体参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23907196/

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