社区
C#
帖子详情
sql2000全文检索的问题,如我输入查询内容:“图壁厂1号”查询出来的内容不正确
pei051027
2008-07-09 03:42:47
具体是这样:
查询内容: 结果:
“图壁厂1号” 只要含有“图壁厂“三个字的都出来了
“图壁厂11号” 查询正确
意思就是说只要是那个1号的“1”是小于10的数字,查询都不正确,
只要是大于10的查询都正确
我想问问sql2000的 全文检索在获取关键字的时候怎么取的?我的这个为什么不正确?
...全文
172
17
打赏
收藏
sql2000全文检索的问题,如我输入查询内容:“图壁厂1号”查询出来的内容不正确
具体是这样: 查询内容: 结果: “图壁厂1号” 只要含有“图壁厂“三个字的都出来了 “图壁厂11号” 查询正确 意思就是说只要是那个1号的“1”是小于10的数字,查询都不正确, 只要是大于10的查询都正确 我想问问sql2000的 全文检索在获取关键字的时候怎么取的?我的这个为什么不正确?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuyang840117
2008-07-09
打赏
举报
回复
下面是我写的共通 参考下
public class MCHBaseClass
{
private DataSet ds = new DataSet();
private string mPath = "";
public DataSet getDS()
{
return ds;
}
/// <summary>
/// 加载获取的MXL 获取XML路径
/// </summary>
/// <param name="path"></param>
public void LoadSetting(string path)
{
this.mPath = path;
this.ds = new DataSet();
try
{
ds.ReadXml(@mPath);
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
public DataTable Getting(string fNode)
{
DataTable dt = new DataTable();
try
{
dt = ds.Tables[fNode];
return dt;
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
/// <summary>
/// 获取fNode父节点下第intKey行 strSection的属性值
/// </summary>
/// <param name="fNode">父节电名称</param>
/// <param name="intKey">行数</param>
/// <param name="strSection">属性名称</param>
/// <returns></returns>
public string Getting(string fNode, int intKey, string strSection)
{
string strValue = "";
try
{
strValue = Convert.ToString(ds.Tables[fNode].Rows[intKey][strSection]);
return strValue;
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
/// <summary>
/// 把ds写到路径mPath下,保存成XML
/// </summary>
/// <param name="ds1"></param>
/// <param name="mPath1"></param>
public void SaveSettings(DataSet ds1, string mPath1)
{
try
{
ds1.WriteXml(@mPath1);
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
/// <summary>
/// 更改父节点为fNode 第intKey行 strSection属性值 为strDefaultValue
/// </summary>
/// <param name="fNode">父节点名称</param>
/// <param name="intKey">行数</param>
/// <param name="strSection">属性名称</param>
/// <param name="strDefaultValue">更改的值</param>
public void SetSetting(string fNode, int intKey, string strSection, string strDefaultValue)
{
try
{
ds.Tables[fNode].Rows[intKey][strSection] = strDefaultValue;
ds.AcceptChanges();
this.SaveSettings(ds,mPath);
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
/// <summary>
/// 在父节点为fNode intKey行 添加 属性名称strSection 值strDefaultValue
/// </summary>
/// <param name="fNode">父节点名称</param>
/// <param name="intKey">行数</param>
/// <param name="strSection">添加的属性名称</param>
/// <param name="strDefaultValue">属性值</param>
public void AddSettings(string fNode, int intKey, string strSection, string strDefaultValue)
{
try
{
ds.Tables[fNode].Columns.Add(strSection);
ds.Tables[fNode].Rows[intKey][strSection] = strDefaultValue;
ds.AcceptChanges();
this.SaveSettings(ds, mPath);
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
/// <summary>
/// 删除父节点为fNode下的 属性值strSection
/// </summary>
/// <param name="fNode"></param>
/// <param name="strSection"></param>
public void DeleteSettings(string fNode, string strSection)
{
try
{
ds.Tables[fNode].Columns.Remove(strSection);
ds.AcceptChanges();
this.SaveSettings(ds, mPath);
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
throw;
}
}
}
hexiaoyulee
2008-07-09
打赏
举报
回复
发sql语句吧
sql2000不会把“图壁厂1号”省略成“图壁厂”
pupo
2008-07-09
打赏
举报
回复
单词断字符的语言用neutral看看
xuyang840117
2008-07-09
打赏
举报
回复
把你 sql 语句发一下 估计是你写的问题
pei051027
2008-07-09
打赏
举报
回复
不是的,虽然是模糊查询的,但是这个“图壁厂”三个字我可以换成其他的字,
如“加加减减1号”,
我说的这个问题,是说sql2000在全文检索的时候在取关键字的时候会不会不准确,把“图壁厂1号”省略成“图壁厂”
pupo
2008-07-09
打赏
举报
回复
可能是SQL Server本身中文分词的问题
hexiaoyulee
2008-07-09
打赏
举报
回复
好象说得不是很清楚
查询 like ‘图壁厂1%号’时
只要字段在%两边符合就在结果里面
图壁厂1号 和 图壁厂11号都满足查询要求
而查询 like ‘图壁厂11%号’时
只有图壁厂11号满足条件,图壁厂1号不满足
hexiaoyulee
2008-07-09
打赏
举报
回复
你查询的时候是不是输入数字然后模糊查询?
数字输入为N
查询 like ‘图壁厂N%号’
如果N为单位数1,2...9
当然由于匹配会把1,2...9开头的数字都查询出来
如果N为双位的
由于查询匹配更精确
查询结果正确
pei051027
2008-07-09
打赏
举报
回复
“图壁厂”这个只是个事例,
我是说在sql全文检索的时候,sql他忽略了(1,2,3,4..9)这写单个数字,
搜索关键字为“图壁厂1号”的搜索结果和关键字为“图壁厂”搜索的内容是一样的。
但是1号要是变成两位数字(10,11....)就查询正确
skison
2008-07-09
打赏
举报
回复
like ‘图壁厂[1-9][0-9]%号’
skison
2008-07-09
打赏
举报
回复
like ‘图壁厂[1-9][^号]’
skison
2008-07-09
打赏
举报
回复
like ‘图壁厂[1-9][0-9]号’
pei051027
2008-07-09
打赏
举报
回复
嗯,是的
就是SQL2000中的全文检索那个功能,全文目录
bbbbbb888888
2008-07-09
打赏
举报
回复
是直接SQL中的%查询么?是不是检索的算法有问题
pei051027
2008-07-09
打赏
举报
回复
就是说查询“图壁厂1号”或者“图壁厂2号”或者“图壁厂3号”等等,
(1,2,3,4,5,6,7,8,9)号 这些查询的时候不正确
但是如果是:“图壁厂10号”,或者“图壁厂11号”等等
(10以上的)查询都正确
不知道说清楚了没?
pei051027
2008-07-09
打赏
举报
回复
就是说查询“图壁厂1号”或者“图壁厂2号”或者“图壁厂3号”等等,
(1,2,3,4,5,6,7,8,9)号 这些查询的时候不正确
但是如果是:“图壁厂10号”,或者“图壁厂11号”等等
(10以上的)查询都正确
不知道说清楚了没?
skison
2008-07-09
打赏
举报
回复
大于小于没听明白 那个似乎是图示列表的说明也没看明白
解释清点吧
使用
SQL
SERVER
2000
的
全文检索
功能(支持中文检索)
步骤:1、 打开NorthWind数据库,右键Products表,选择“全文索引表”,“在表上定义全文索引”使用
SQL
SERVER
2000
的
全文检索
功能 ,为其创建全文目录。在“全文索引向导”中,选择你需要全文
查询
条件的列(可以是文本或图像),我们选择Productname和QuantityPerUnit列。然后下一步,
输入
一个新的目录proCatalog,点击下一步。在填充调度一项里
关于
sql
全文检索
与lucene效率比较的摘要
关于
sql
全文检索
与lucene效率比较的摘要,以下仅为网络找到的效率意见,近期会对效率做出测试比较,再更新。 -------------------------------------------------------------------------------------------------------------------- 观点一: 1.
查询
速度
问题
SQL
数据库
查询
操作:学生选课系统数据检索
这个
查询
通过连接学生表(S)、课程表(C)和学生选课表(SC),筛选出所有选修了课程
号
为C002的学生的学
号
和成绩。现在,已经成功创建了学生选课系统的基本结构,并插入了初始数据。接下来,将执行一些
查询
操作来检索和分析这些数据。有了数据库表和数据,我们现在可以进行一些有用的
查询
来检索和分析学生选课系统的数据。将从创建数据库表开始,然后插入数据,并最终执行一系列
查询
操作来检索和分析数据。首先,需要创建三个表:课程表(C)、学生表(S)和学生选课表(SC)。接下来,我们将向这些表中插入数据。
【
SQL
Server性能优化】运用
SQL
Server的
全文检索
来提高模糊匹配的效率
今天去面试,这个公司的业务需要模糊
查询
数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的
问题
,我从业务上了解到,显然对他们公司而言,丢数是绝对不能允许的。 另外,他们说之前也用过
SQL
Server的
全文检索
,但速度不够快,不如用mongodb快,当然我不太清楚他们所谓快的具体定义,比如
查询
只需要1秒,还是1分钟。他们的系统现在采用的是
SQL
Server,通过复制来实现高可
浅析
SQL
Server
全文检索
查询
因为项目需要,需要对上传的文件
内容
进行
查询
。通过MSDN了解到Windows索引服务可以实现对文件的
全文检索
,并可以通过
SQL
Server进行
查询
。项目将这两者结合,实现对上传文件的
全文检索
的解决方案。 方案概要: 1. 改变文件存储时的文件名 2. 配置索引服务器,并将索引服务器与MS
SQL
Server关联。 3. 修改
SQL
语句,将进行全文
查询
语句的
内容
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章