Solr.NET快速入门(四)【相似查询,拼写检查】
2017-06-08 11:48
429 查看
相似查询
此功能会返回原始查询结果中返回的每个文档的类似文档列表。参数通过QueryOptions的MoreLikeThis属性定义。
示例:搜索“apache”,为结果中的每个文档搜索“cat”(类别)和“manu”(制造商)字段中的相似文档:
ISolrBasicOperations<Product> solr = ... var results = solr.Query(new SolrQuery("apache"), new QueryOptions { MoreLikeThis = new MoreLikeThisParameters(new[] {"cat", "manu"}) { MinDocFreq = 1, // minimum document frequency MinTermFreq = 1, // minimum term frequency }, }); foreach (var r in results.SimilarResults) { Console.WriteLine("Similar documents to {0}", r.Key.Id); foreach (var similar in r.Value) Console.WriteLine(similar.Id); Console.WriteLine(); }
支持在Solr文档中定义的所有参数。
拼写检查
您需要在标准请求处理程序中安装SpellCheckComponent才能使用它。接下来,必须提供拼写检查字典。 通常,通过在提交/优化时调用BuildSpellCheckDictionary()创建默认字典(您还可以配置Solr自动重建拼写检查索引):
ISolrOperations<Product> solr = ... solr.BuildSpellCheckDictionary();
现在,您可以通过在QueryOptions中定义SpellCheck参数来开始发出拼写检查查询:
ISolrOperations<Product> solr = ... var results = solr.Query("ipo appl", new QueryOptions { SpellCheck = new SpellCheckingParameters {Collate = true} });
然后从结果中获取建议.SpellChecking,ie .:
foreach (var sc in results.SpellChecking) { Console.WriteLine("Query: {0}", sc.Query); foreach (var s in sc.Suggestions) { Console.WriteLine("Suggestion: {0}", s); } }
这将打印:
Query: ipo Suggestion: ipod Query: appl Suggestion: apple
除了extendedResults选项之外,所有SpellCheckComponent参数都受支持。
相关文章推荐
- Solr.NET快速入门(五)【相似查询,拼写检查】
- Solr.NET快速入门(五)【聚合统计,分组查询】
- Solr.NET快速入门(二)【查询】
- Solr.NET快速入门(六)【聚合统计,分组查询】
- Solr.NET快速入门(七)【核心管理,Fluent API】
- Solr.NET快速入门(四)【高亮显示】
- solr入门之solr的拼写检查功能的应用级别尝试
- Solr.NET快速入门(八)【多核多实例,映射验证】
- Solr.NET快速入门(二)
- ADO.NET Entity Framework查询实体和关联(实体框架快速入门)
- Solr.NET快速入门(一)【基本使用,映射字段】
- solr高亮、拼写检查及匹配相似简单实践
- java操作solr实现索引,查询,删除,拼写检查等功能
- Solr.NET快速入门(七)【覆盖默认映射器,NHibernate集成】
- Solr.NET快速入门(九)【多核多实例,映射验证】
- solr入门之solr的拼写检查功能的应用级别尝试
- Solr.NET快速入门(八)【覆盖默认映射器,NHibernate集成】
- Solr.NET快速入门(九)【二进制文档上传】【完】
- [新手入门]快速学习 ADO.NET Entity Framework系列文章 #3 -- LINQ-to-SQL、EntitySQL、查询产生器方法(Query builder)三种语法
- Solr.NET快速入门(三)【高亮显示】