这是一个后续问题到另一个问题,我有 - Benefits of using Document DB after connecting with Azure Search建模数据
存储在DocumentDB您的数据和整合与Azure的搜索需要你你的数据模型两次 - 一次为DocDB中的文档和另一个用于Azure搜索中的搜索实体。
有人这样做成功吗?有没有办法可以将我在DocDB中定义的文档重用为Azure搜索中的搜索实体?
编辑:我已经与一个索引器集成在一起,以便在Azure搜索中进行搜索,并且搜索本身效果很好。我现在面临以下情况 - 我使用DocumentDB上的查询来获取项目,这些项目在多个属性上进行过滤。如果我想允许使用同一组过滤器进行搜索,则需要指定我用作索引字段的属性。因此,通过指定这些领域,我基本上是建立一个新的数据模型(它的I类有DocumentDB的复制)
例如,假设我有下面的类,我存储在DocDB:
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
}
我创建了一个索引,指定我想要在名称上进行搜索并筛选价格。现在,我添加新功能的类,以便它也显示了可用性
class MyItem
{
public string Name { get; set;}
public double Price { get; set; }
public bool IsAvailable { get; set; }
}
现在我需要IsAvailabile添加为过滤场在我的指标,并重新索引。所以索引器的字段列表就是我的类的属性的重复,也导致了我的代码中的耦合。有没有办法有效地解决这个问题?
我不确定我是否理解这个问题。您是否在Azure搜索中使用索引器从数据库中提取数据?许多客户使用此功能,因此应该符合“成功完成”的条件。你有什么具体问题吗? –
我已更新我的问题并提供更多详细信息 – PartlyCloudy
如果您的文档是这样的,那么根本就不需要索引查询 - 默认查询类似于'select * from c where c._ts> = @HighWaterMark按c._ts'顺序排列,因此您的DocumentDb文档中的任何新字段都会自动提取。但是,您确实需要为搜索索引架构添加新字段。 –