Solr.NET快速入门(四)【相似查询,拼写检查】
2024-10-21 03:25:54
相似查询
此功能会返回原始查询结果中返回的每个文档的类似文档列表。
参数通过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参数都受支持。
最新文章
- float 和 inline-block的心得
- 编解码-protobuf
- MVC4 WebAPI
- Unity Shaders
- android NDK 开发步骤
- C# - linq查询现有的DataTable
- ecshop中getAll ,getOne ,getRow的区别
- 让Android系统支持ubifs文件系统
- bzoj 1217: [HNOI2003]消防局的设立
- docker run命令运行以及参数详解
- Flutter Dart中的异步
- python3 面向对象编程--类的封装和继承
- Objective-C 位运算符
- 每天一个linux命令:mkdir命令
- w3c标准 dom对象 事件冒泡和事件捕获
- hdu5015矩阵快速幂
- AndroidStudio-永远无法进入
- RecyclerView IndexOutOfBoundsException 问题
- NBUT 1107——盒子游戏——————【博弈类】
- (原)一段看似美丽的for循环,背后又隐藏着什么