全文索引的使用(二)--使用同义词库 (转)
/***************************************************
作者:herowang(让你望见影子的墙)
日期:2009.8.11
注: 转载请保留此信息
更多内容,请访问我的博客:blog.csdn.net/herowang
****************************************************/
在上例中,执行select * from tbwhere contains(title,'上海')结果:id title detail6 姚明:没把上海当投资项目 乐得生意做了好人当了 “姚蜜”说:不缺广告效应的姚明收购濒临绝境的上海东方篮球俱乐部,说明他是真的想为曾经的母队做点事情。但是执行:select * from tbwhere contains(title,'上')结果为空集。
原因:在进行全文索引查询的时候,“上”为简体中文的干扰词,即查询的时候会忽略掉;另外建立全文索引的时候一般会以一个词组作为一个索引项,而不是单个词。
如果还要进行此查询,想查出第一个查询的结果,可以修改全文索引的同义词库。
干扰词与同义词文件存在的路径:
D:/Program Files/Microsoft SQL Server2005/MSSQL.1/MSSQL/FTData,每一个文件名应该很好辨别。
简单介绍下修改同义词库的方法:
1、 使用记事本打开tschs.xml,这是简体中文的同义词库
<XML ID="Microsoft Search Thesaurus"> <!-- Commented out <thesaurus xmlns="x-schema:tsSchema.xml"> <diacritics_sensitive>0</diacritics_sensitive> <expansion> <sub>Internet Explorer</sub> <sub>IE</sub> <sub>IE5</sub> </expansion> <replacement> <pat>NT5</pat> <pat>W2K</pat> <sub>Windows 2000</sub> </replacement> <expansion> <sub>run</sub> <sub>jog</sub> </expansion> </thesaurus> --> </XML>
解释:
<replacement>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</replacement>
为替代词,即查询W2K时,会自动替换为Windows 2000进行查询
<expansion>
<sub>run</sub>
<sub>jog</sub>
</expansion>
为同义词库,即查询run的时候也会查询jog
在本例中添加:
<expansion>
<sub>上</sub>
<sub>上海</sub>
</expansion>
2、 去掉开始于末尾的注释行:
<!-- Commented out
-->
3、最终形成的结果为:
<XML ID="Microsoft Search Thesaurus"> <thesaurus xmlns="x-schema:tsSchema.xml"> <diacritics_sensitive>0</diacritics_sensitive> <expansion> <sub>Internet Explorer</sub> <sub>IE</sub> <sub>IE5</sub> </expansion> <replacement> <pat>NT5</pat> <pat>W2K</pat> <sub>Windows 2000</sub> </replacement> <expansion> <sub>run</sub> <sub>jog</sub> </expansion> <expansion> <sub>上</sub> <sub>上海</sub> </expansion> </thesaurus> </XML>
4、 执行查询语句:select * from tbwhere contains(title,'formsof(thesaurus,上)')即可看到查询结果与contains(title,'上海')相同
转载于:https://www.cnblogs.com/nozer/articles/2526665.html
全文索引的使用(二)--使用同义词库 (转)相关推荐
- 【一起学Rust | 进阶篇 | thesaurus-rs库】Rust 的离线同义词库——thesaurus-rs
文章目录 前言 后端比较 一.安装与引用 1. 使用WordNet后端 2. 使用moby后端 3. build下载crate 二.使用步骤 1.获取命令行参数 2.取到同义词 补充 3.输出结果 4 ...
- Glide二次封装库的使用
更多代码可以查询本人GitHub:欢迎阅读,star点起来. Glide二次封装库源码 前言 为什么选择Glide? Glide 轻量级 速度快 可以根据所需加载图片的大小自动适配所需分辨率的图 支 ...
- PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)
原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...
- 高翔博士SLAMBOO2十二讲代码库中的三方库没有下载下来 ,需要手动对三方库单独下载的git的命令如下
高翔博士SLAMBOO2十二讲代码库中的三方库没有下载下来 git clone --recursive https://github.com/gaoxiang12/slambook2.git 需要手动 ...
- svn merger的时候 报远程主机强迫_SVN与Git比较(二)版本库与工作区
二. 版本库与工作区 Subversion的工作区和版本库是截然分开的,而Git的工作区和版本库是如影随形的. 1. SVN的版本库和工作区是分离的 • Subversion 的工作区和版本库物理上分 ...
- Git使用方法(二)-远程库与分支
Git使用方法(二)-远程库与分支 本文参考博客廖雪峰的官方网站整理而成 远程库 SSH Key 创建SSH Key: $ ssh-keygen -t rsa -C "youremail@e ...
- 基于CUBEMX和STM32C8T6的同轴麦轮小车制作(二)——HAL库接受jy61p陀螺仪数据,并解决数据溢出卡死问题。
基于CUBEMX和STM32C8T6的同轴麦轮小车制作(二)--HAL库接受jy61p陀螺仪数据,并解决数据溢出卡死问题 本文利用STM32C8T6中的串口1于JY61P实时通信,并用串口2将其角度打 ...
- Lua语法小贴士(二)string库
string库 byte方法,返回byte值: print(string.byte("abc")) --97 print(string.byte("abc", ...
- CMakeLists学习二、链接库搜索路径与ld
CMakeLists学习二.链接库搜索路径与ld 前言 gcc的链接 gcc链接命令 ld搜索路径 ldconfig刷新动态库缓存 CMakeLists指定链接搜索路径 后记 前言 本文继续CMake ...
- 【GD32F427开发板试用】二、USB库移植与双USB CDC-ACM功能开发
本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:chenjie [GD32F427开发板试用]一.环境搭建与freertos移植 [GD ...
最新文章
- 深入JVM锁机制2-Lock
- 理工男有多香?一张桌子、一条视频,股价狂涨13.51%!网友:我看到了乔布斯!...
- 他修复了程序员吃饭的bug,估值已超过10亿美金!9.9元,2顿饭.....
- LeetCode题解之Reorder List
- 产品经理之深度学习促进产品
- 中国企业人工智能应用之道——从“浅尝试”到“规模化”.pdf(附下载链接)...
- 用手机约会为何胜过电脑?
- 险些被吓到!白宇代言新品万元荣耀8X售价原因揭秘
- 公司收银系统要不要服务器,一套收银系统要多少成本
- MPQ文件系统优化(续)
- c语言提取质心坐标,求图像质心的C语言实现
- Web安全之常见面试题总结
- 水溶性ZnCdS/ZnS量子点蓝光PL400nm-480nm
- Android Room数据库使用
- ubuntu安装软件包命令
- 2021/4/29刷题
- 图数据库实操:用 Nebula Graph 破解成语版 Wordle 谜底
- navicat 解析sql_使用 Navicat 查询分析器优化查询性能(第 1 部分)
- 图解:如何理解与实现散列表
- 【Pytest:Python 单元测试工具学习】