电商指尖---(9).net发展Solr中间Facet特征
上一节中我们演示了在SolrAdmin中使用Facet功能来进行分组统计。这一节我们看看如何使用.NET开发Solr中的Facet功能。在讲Facet功能的同一时候,
我们看下.Net中如何使用Solr查询。使用的client工具是easysorl.net,大家能够去codeplex下载。
这个工具非常好用。
看例如以下图,下图就是我们要演示的功能
1.模糊查询
模糊查询就是搜索指定的汉字得到一个结果。以下的演示样例就是查询商品名称中包括白色的全部商品,终于得到的结果例如以下图
代码
public void Query()
{ if (string.IsNullOrWhiteSpace(textBox1.Text.Trim()))
{
#region 查询所有 var result = operations.Query("collection1", "/select", SolrQuery.All, null);
var header = binaryResponseHeaderParser.Parse(result);
var examples = binaryQueryResultsParser.Parse(result);
this.dataGridView1.DataSource = examples.ToList(); #endregion
}
else
{
#region 按商品名模糊查询 ISolrQuery solrQuery = new SolrQuery(textBox1.Text.Trim());
var result = operations.Query("collection1", "/select", solrQuery, null);
var header = binaryResponseHeaderParser.Parse(result);
var examples = binaryQueryResultsParser.Parse(result);
this.dataGridView1.DataSource = examples.ToList(); #endregion }
}
2.精确查询
在查询的时候,有时候我们要依据商品的ID或者商品的编码精确的查询到某一个商品。
以下的样例就演示了按商品编码精确查询的功能。
if (string.IsNullOrWhiteSpace(textBox2.Text.Trim()))
{
return;
}
string conditon = "ProductCode:" + textBox2.Text.Trim();
ISolrQuery solrQuery = new SolrQuery(conditon);
var result = operations.Query("collection1", "/select", solrQuery, null);
var header = binaryResponseHeaderParser.Parse(result);
var examples = binaryQueryResultsParser.Parse(result);
this.dataGridView1.DataSource = examples.ToList();
3.Facet分组统计
在查询的时候,有的时候。我们须要对查询的结果进行分组。比方想知道包括这个商品的每一个分类有多少商品。每一个价格区间有多少商品。
以下的样例统计每一个分类有多少商品。
/// <summary>
/// facet按类型查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
label3.Visible = true; var dic=new Dictionary<string,ICollection<string>>();
dic["facet"] = new string[] { "true" }; var options = new List<string>();
options.Add("CategoryName");
dic["facet.field"] = options;
var result = operations.Query("collection1", "/select", SolrQuery.All,dic);
var header = binaryResponseHeaderParser.Parse(result);
var examples = binaryQueryResultsParser.Parse(result); //分组List<FacetField>
IDictionary<string, IList<FacetField>> facetDic=new BinaryFacetFieldsParser().Parse(result);
string strFacet = "";
foreach (var item in facetDic)
{
strFacet +="分组字段:"+item.Key+"\r\n";
foreach (var facetItem in item.Value)
{
strFacet += facetItem.Name + "(" + facetItem.Count.ToString() + ")" + "---";
}
}
label3.Text = strFacet;
this.dataGridView1.DataSource = examples.ToList();
}
Demo下载: http://download.csdn.net/detail/zx13525079024/7385945
版权声明:本文博客原创文章,博客,未经同意,不得转载。
电商指尖---(9).net发展Solr中间Facet特征的更多相关文章
- 电商指尖---(6)solrconfig.xml配置具体解释
solrconfig.xml配置文件主要定义SOLR理规则,包含索引数据的存放位置,更新,删除,查询的一些规则配置. 能够在tomcat的安装路径下找到这个文件C:\Program Files\Apa ...
- 关于电商ERP的想法
原文地址: http://www.chinaodoo.net/thread-465-1-1.html 试用了下odoo的淘宝订单处理模块,从整个业务流程上已经打通,如果要求不是很高的话,现有的功能基本 ...
- 把握这两点,抢占下一个电商风口|2016最新中国电商App排名&研究报告
序言 电商,是随着中国互联网经济的持续发展所成长起来的.淘宝.京东这些电商从交易额和影响力上看都位列中国最为成功.最具话题性的互联网企业之中.尽管近几年中国经济有所放缓,但中国消费市场的增长速度仍有望 ...
- 专訪印度电商Snapdeal CEO:学阿里还是京东
[摘要]印度的互联网正成资本关注下一个投资焦点,也可能成中国互联网企业走向海外的桥头堡.为此.腾讯科技最近将推出走近印度"硅谷"系列文章,帮助大家了解印度互联网. 腾讯科技与Sna ...
- Golang 在电商即时通讯服务建设中的实践
马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商. 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣.食.住.行等 ...
- 中国社交电商最新展望,S-KOL-C正突围而出
编辑 | 韩星 出品 | 于见(mpyujian) 通信技术.移动互联网的快速发展正加速国内电商平台的深度变革. 在这场以"社交"和"下沉市场"为关键词的电商之 ...
- 短视频APP+不同类型社交应用发展分析+化妆品电商
短视频APP——昙花一现还是发展趋势? 在这个互联网与科技并行且飞速发展的时代,各种app不断涌入市场,其中短视频app便是一个典型,美拍,就成功入围2014年十大最火app.而短视频app也势必要成 ...
- solr在电商平台中的使用示例简析
来源:http://blog.csdn.net/yangbutao/article/details/9450463 在电商平台中搜索是非常重要的功能,主要包括有搜索词类目导航.自动提示和搜索排序功能 ...
- JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现
1 学习回顾 1. Lucene 是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容 顺序扫描法 全文检索 3. 什么是全文检索? 这种先创建索引 再 ...
随机推荐
- XUtils骨架HttpUtils采用Get总是返回请求解决问题的相同信息
如需转载请注明出处:http://blog.csdn.net/itas109 版本号:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...
- 让struts2和servlet共存
由于struts2默认的是拦截全部的请求 由配置文件能够看出 <filter> <filter-name>struts2</filter-name> <fil ...
- T-SQL问题解决集锦——数据加解密
原文:T-SQL问题解决集锦--数据加解密 以下代码已经在SQLServer2008上的示例数据库测试通过 问题一:如何为数据进行加密与解密,避免使用者窃取机密数据? 对于一些敏感数据,如密码.卡号, ...
- RFC 协议下载方法
rfc官方网站:http://tools.ietf.org 举例说明: RFC7230是HTTP 1.1协议,此文档的URL为:http://tools.ietf.org/html/rfc7230 你 ...
- ASP.NET MVC常见问题解决方法
1.页面报错: The following errors occurred while attempting to load the app. - No assembly found containi ...
- Appium - iOS Mac环境结构
Appium - iOS Mac环境结构 笔者: Max.Bai 时间: 2014/10 1. iOS开发环境的搭建 1.1系统要求 MacOS X 10.7 or higher, 10.9.2 re ...
- css3 翻牌(rotate) 以及翻转 导致边缘锯齿解决 方法
主要知识点:rotate旋转以及 outline透明的像素消除(明显降低)火狐旋转是产生的 锯齿 首先看结构: <li class="flip-container " ...
- Android采访开发——2.通用Android基础笔试题
注意finddreams博客: http://blog.csdn.net/finddreams/article/details/44219231 正值跳槽的热季.整理一下Android面试中最常考的笔 ...
- DDD Reference
版权声明:本文博客原创文章.博客,未经同意,不得转载.
- 国产与第三方库FFmpeg SDK
一个.编译并安装第三方库 1. libfaac # tar -zxvf faac-1.28.tar.gz # cd faac-1.28 # ./configure --prefix=/opt/YOUR ...