Solr.NET快速入门(二)
2017-06-08 11:30
381 查看
字典映射和动态字段
Solr dynamicFields可以根据用例不同地映射。 它们可以被“静态地”映射,例如,给定:<dynamicField name="price_*" type="integer" indexed="true" stored="true"/>
一个特定的dynamicField实例可以映射为:
[SolrField("price_i")] public decimal? Price {get;set;}
然而,通常需要有更多的灵活性。 您还可以将dynamicFields映射为字典,并使用字段名前缀:
[SolrField("price_")] public IDictionary<string, decimal> Price {get;set;}
在这种情况下,price_用作实际Solr字段名称的前缀,例如。 使用此映射,Price [“regular”]映射到名为price_regular的Solr字段。
另一个,甚至更灵活的映射:
[SolrField("*")] public IDictionary<string, object> OtherFields {get;set;}
对于任何其他未映射的字段,它充当全部容器。 例如。 OtherFields [“price_i”]映射到名为price_i的Solr字段。
完全松散的映射
通过使用Dictionary当添加文档为Dictionary
Startup.Init<Dictionary<string, object>>(serverUrl); var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Dictionary<string, object>>>(); solr.Add(new Dictionary<string, object> { {"field1", 1}, {"field2", "something else"}, {"field3", new DateTime(2010, 5, 5, 12, 23, 34)}, {"field4", new[] {1,2,3}}, });
当获取作为Dictionary
ISolrOperations<Dictionary<string, object>> solr = ... ICollection<Dictionary<string, object>> results = solr.Query(SolrQuery.All); bool inStock = (bool) results[0]["inStock"];
自定义映射
您可以通过实现IReadOnlyMappingManager接口对自己的映射机制进行编码。相关文章推荐
- Solr.NET快速入门(五)【相似查询,拼写检查】
- Solr.NET快速入门(三)【高亮显示】
- Solr.NET快速入门(六)【聚合统计,分组查询】
- Solr.NET快速入门(八)【覆盖默认映射器,NHibernate集成】
- Solr.NET快速入门(五)【聚合统计,分组查询】
- Solr.NET快速入门(二)【查询】
- Solr.NET快速入门(九)【多核多实例,映射验证】
- Solr.NET快速入门(八)【多核多实例,映射验证】
- Solr.NET快速入门(九)【二进制文档上传】【完】
- Solr.NET快速入门(七)【覆盖默认映射器,NHibernate集成】
- Solr.NET快速入门(四)【相似查询,拼写检查】
- Solr.NET快速入门(七)【核心管理,Fluent API】
- Solr.NET快速入门(四)【高亮显示】
- Solr.NET快速入门(一)【基本使用,映射字段】
- ASP.NET 快速入门系列系列--ASP.NET2.0绑定到数据库
- *Ajax.Net快速入门*
- Ajax.Net快速入门
- Ajax.Net快速入门
- 微软 ASP.NET 快速入门实例教程
- .net快速入门方法,转csdn