Solr.NET快速入门(四)【相似查询,拼写检查】
相似查询
此功能会返回原始查询结果中返回的每个文档的类似文档列表。
参数通过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快速入门(四)【相似查询,拼写检查】的更多相关文章
- AndroidStudio快速入门四:打造你的开发工具,settings必备
http://blog.csdn.net/jf_1994/article/details/50085825 前言:这里是使用AS的基本设置,适合新入手的朋友阅读,将这里介绍的设置完基本使用无忧啦. 1 ...
- Solr.NET快速入门(五)【聚合统计,分组查询】
聚合统计 属性 说明 Min 最小值 Max 最大值 Sum 总和 Count 记录数,也就是多少行记录 Missing 结果集中,有多少条记录是空值 SumOfSquares 平方和(x1^2 + ...
- Solr.NET快速入门(七)【覆盖默认映射器,NHibernate集成】
覆盖默认映射器 默认情况下,SolrNet使用属性映射Solr字段. 但是,您可能需要使用另一个映射程序. 替换默认映射器取决于您如何设置库: 内置容器 如果使用默认的内置容器,可以在调用Startu ...
- Solr.NET快速入门(三)【高亮显示】
此功能会"高亮显示"匹配查询的字词(通常使用标记),包括匹配字词周围的文字片段. 要启用高亮显示,请包括HighlightingParameters QueryOptions对象, ...
- mybatis快速入门(四)
mybatis动态标签<where><if><foreach>以及sql片段 1.创建一个包装类UserQueryVo.java package cn.my.myb ...
- Solr.NET快速入门(九)【二进制文档上传】【完】
二进制文档上传 SolrNet支持Solr"提取"功能(a.k.a. Solr"Cell")从二进制文档格式(如Word,PDF等)索引数据. 这里有一个简单的 ...
- Solr.NET快速入门(八)【多核多实例,映射验证】
多核/多实例 本页介绍如何配置SolrNet访问(读/写)多个Solr内核或实例. 它假定您知道Solr内核是什么,如何在SolrNet外部配置和使用它们. 此页面不涵盖CoreAdminHandle ...
- Solr.NET快速入门(二)
字典映射和动态字段 Solr dynamicFields可以根据用例不同地映射. 它们可以被"静态地"映射,例如,给定: <dynamicField name="p ...
- Dubbo快速入门 四
4.业务场景 4.1).提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在 需要创建两个服务模块进行测试 模块 功能 订单服务web模块 创建订单等 用户服务servi ...
随机推荐
- 解决JavaOpenCV的内存问题
在使用OpenCV时,程序总是在某个时间墨明棋妙地终止,打开CygWin ,输入 adb logcat ,查看打印的信息,发现是内存问题.经过反复的查找,发现使用OpenCV的java类库时,一定要慎 ...
- js-循环执行一个函数
js里的两个内置函数:setInterval()与setTimeout()提供了定时的功能,前者是每隔几秒执行一次,后者是延迟一段时间执行一次.javascript 是一个单线程环境,定时并不是很准, ...
- DFS-BFS深度优选遍历和广度优先遍历
https://www.jianshu.com/p/b086986969e6 DFS--需要借助stack实现 stack.push stack.pop BFS--需要借助队列queue stack- ...
- HTTP数据包详解
无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看. 阅读目录 ...
- eas之获得任何一个KDTable的选中行
import com.kingdee.bos.ctrl.kdf.table.util.KDTableUtil; int[] selectRows =KDTableUtil.getSelectedRow ...
- 【编程工具】Vim编辑器的使用
1.Vim简介 Vim最初起源于古老的贝尔实验室,由"Bram Moolenaar等人"开发,是一个功能强大的文本编辑器,被推崇为类Vi编辑器中最好的一个. Vim是一个类 ...
- Google JavaScript Style Guide
转自:http://google.github.io/styleguide/javascriptguide.xml Google JavaScript Style Guide Revision 2.9 ...
- 将RedHat的yum更换为CentOS的yum
CentOS6.8 脚本: #安装yum所需的包已经下载到本地 #!/bin/bashrpm -qa | grep yum | xargs rpm -e --nodepsrm -rf /etc/yum ...
- 9.在idea中创建Maven项目
1.新建maven WEB项目 打开-File-New-Project 点击NEXT 2.选择项目组,并给项目命名 3.选择maven路径 添加的配置为 archetypeCatalog=intern ...
- 数位dp无前导零
题目链接:http:// www.lydsy.com/JudgeOnline/problem.php?id=1026 #include <iostream> #include < ...