社区
C#
帖子详情
sql2000全文检索的问题,如我输入查询内容:“图壁厂1号”查询出来的内容不正确
pei051027
2008-07-09 03:42:47
具体是这样:
查询内容: 结果:
“图壁厂1号” 只要含有“图壁厂“三个字的都出来了
“图壁厂11号” 查询正确
意思就是说只要是那个1号的“1”是小于10的数字,查询都不正确,
只要是大于10的查询都正确
我想问问sql2000的 全文检索在获取关键字的时候怎么取的?我的这个为什么不正确?
...全文
158
17
打赏
收藏
sql2000全文检索的问题,如我输入查询内容:“图壁厂1号”查询出来的内容不正确
具体是这样: 查询内容: 结果: “图壁厂1号” 只要含有“图壁厂“三个字的都出来了 “图壁厂11号” 查询正确 意思就是说只要是那个1号的“1”是小于10的数字,查询都不正确, 只要是大于10的查询都正确 我想问问sql2000的 全文检索在获取关键字的时候怎么取的?我的这个为什么不正确?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
大于小于没听明白 那个似乎是图示列表的说明也没看明白
解释清点吧
【动态规划秘籍】背包
问题
和树形DP详解
动态规划是算法竞赛和面试中出现最多的算法,灵活多变的动态规划
问题
令很多学习者望而生畏。【动态规划秘籍】系列视频,教大家彻底搞懂动态规划。动态规划算法一网打尽,算法精讲+刷题实战,通俗易懂,融会贯通。本...
【动态规划】01背包
问题
(通俗易懂,超基础讲解)
问题
描述 有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 为方便讲解和理解,下面讲述的例子均先用具体的数字代入,即:eg:number=4,capacity=8 i...
P
问题
、NP
问题
、NP完全
问题
和NP难
问题
在讲P类
问题
之前先介绍两个个概念:多项式,时间复杂度。(知道这两概念的可以自动跳过这部分) 1、多项式:axn-bxn-1+c 恩....就是长这个样子的,叫x最高次为n的多项式.... 咳咳,别嫌我啰嗦。。有些人说不定还真...
背包
问题
大全(动态规划)
背包
问题
是动态规划非常重要的一类
问题
,它有很多变种,但题目万变不离其宗。我们需要抓住关键的解题思路。
线性规划对偶
问题
线性规划对偶
问题
线性规划及单纯形法〇. 前言一. 对偶
问题
的提出二. 对称形式下对偶
问题
的一般形式三. 非对称形式的原-对偶
问题
关系四. 对偶
问题
的基本性质五. 对偶
问题
的单纯形法描述六. 影子价格七. 利用...
C#
110,011
社区成员
642,612
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章