Sql CLR
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.IO;
using System.Text;
using System.Collections;
using System.Text.RegularExpressions;
/// <summary>
/// 匹配旅游线路多个关键词并获取权重。
/// </summary>
/// <param name="searchKeywords">客户端提交关键词(多个关键词之间以|号分隔)</param>
/// <param name="title">旅游线路标题</param>
/// <param name="dbKeywords">数据库中保存的搜索关键词(多个关键词之间以|号分隔)</param>
/// <returns></returns>
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlDouble fun_CLR_MatchTripKeywords(string searchKeywords, string title, string dbKeywords)
{
//如果没有关键词直接返回1。
if (string.IsNullOrEmpty(searchKeywords))
return 1;
//如果没有索引数据直接返回0。
if (string.IsNullOrEmpty(title) && string.IsNullOrEmpty(dbKeywords))
return 0;
//权重值。
double boost = 0;
//分割字符串。
foreach (string _sk in searchKeywords.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries))
{
//匹配标题。
if (!string.IsNullOrEmpty(title) && title.IndexOf(_sk, StringComparison.OrdinalIgnoreCase) >= 0)
boost += 1;
//匹配数据库关键词字段。
if (!string.IsNullOrEmpty(dbKeywords) && dbKeywords.IndexOf(_sk, StringComparison.OrdinalIgnoreCase) >= 0)
boost += 0.8;
}
// 返回结果。
return boost;
}
Sql CLR的更多相关文章
- SQL Server Assembly (SQL CLR) 还原数据库后的问题
最近弄项目迁移的时候遇到还原数据库(SQL Server 2008)后遇到的一个问题: 消息 10314,级别 16,状态 11,第 1 行 在尝试加载程序集 ID 65536 时 Microsoft ...
- SQL CLR学习
SQL CLR (SQL Common Language Runtime) 是自 SQL Server 2005 才出现的新功能,它将.NET Framework中的CLR服务注入到 SQL Serv ...
- c# SQL CLR 之一
CLR就是公共运行时,本文就对c#编写SQL StoredProcedures的过程进行简单讲解. [步骤] 2. 3. 7.打开设置 8. 注意删除方式:注意删除Assembly时,一定要先把引用此 ...
- PCB MS SQL CLR聚合函数(函数作用,调用顺序,调用次数) CLR说明
用CLR写函数:标量函数,表值函数 很好理解,如果用聚合函数则不是那么好理解了, 这里将CLR函数说明一下,其实关键是对聚合函数说明 用CLR写聚合函数关键点,是要理解CLR与SQL是如何进行数据交互 ...
- Sql CLR创建一个简单的表值函数
1.创建面目: 2. 添加函数代码: using System; using System.Data.Sql; using Microsoft.SqlServer.Server; using Syst ...
- sql clr项目注意
1.如果引用了其他第三方的dll没有在系统里注册的话会报错,需要手工引用,引用的时候可能需要不安全的使用授权,如果没有权限则使用以下语句获取 alter database Class01New_Cac ...
- deploy sql clr
1, create strong signed key file 2, create asymmetric key
- SQL Server DB Type and CLR Type
这段时间学习SQL Server CLR编程,但是SQL CLR编程,里面所使用的数据类型为CLE TYPE,它多少与 Db TYPE有些区别,在网上找到一个列表http://geekswithblo ...
- 【转】SQL SERVER CLR存储过程实现
最近做一个项目,需要做一个SQL SERVER 2005的CLR的存储过程,研究了一下CLR的实现.为方便以后再使用,在这里总结一下我的实现流程,也供对CLR感兴趣但又不知道如何实现的朋友们做一下参考 ...
随机推荐
- Android开发学习笔记:浅谈GridView
GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的.主要用于设置Adapter. GridView常用的X ...
- JS闭包的两个使用方向
直接上代码,备用,详见注释 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="serve ...
- vs2008 编译时候 自动关闭 问题解决方法
最近又出现如此让人崩溃的问题. vs2008在编译程序时候老是莫名其妙的自动退出.卸载重装以后问题仍然存在. 害我一度以为是vs2008的BUG,看网上说的更新BUG. ...
- WebService教程和分析
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- 解决魅族USB调试无法被电脑识别的问题(含Mac OS X、Win7)
每次打开豌豆荚或者360手机助手之类手机助手后Eclipse才会检测到mx4(实际上是豌豆荚关闭eclipse的adb使用自己的驱动连接的).解决方法就是在"adb_usb.ini&qu ...
- LT1619EMS8 锂电池 升压电路分析
LT1619EMS8 锂电池 升压电路分析 本文主要是分析LT1619EMSB锂电池升压芯片电路,知道其大致是怎么工作的,其中的一些电阻该如何配置. 2016-1-23 深圳 南山平山村 曾剑锋 一. ...
- php复制目录及文件
<?php /* 复制目录 */ function copydir($dirsrc,$dirto){ if(is_file($dirto)){ echo "目标不是目录不能创建&quo ...
- Oracle中job的使用详解
我们在项目开发中,常常会有一些复杂的业务逻辑.使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执 ...
- Android自定义的webView——可实现的网页文本的复制
package com.example.customlinearlayout.view; import android.app.ProgressDialog; import android.conte ...
- spring3.0.5的aop使用
spring3.0.5开始支持jpa2.0了,但是最近笔者在使用他的的时候发现了3.0.5的包与2.5.5相比,有所精简.其他外部的包,我们需要自己下载. AOP必须的spring包 org.spri ...