波斯语全文索引停用表
Full-text Index stop list for Persian language
我需要自定义波斯语的全文搜索。并为此语言自定义 Stop/Noise 个单词和同义词。
我的SQL服务器版本是2016,安装了全文搜索
终于找到解决办法了。
默认情况下,当您创建全文索引时,它与系统非索引字表相关联。默认的非索引字表有超过 150 个英语单词。
configure-and-manage-stopwords-and-stoplists-for-full-text-search
full-text-search-stoplist-and-stopword
打开这个文件然后添加你的话
[SQL 服务器路径]\MSSQL13.MSSQLSERVER\MSSQL\FTData\tsglobal.xml
<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>
<expansion>
<sub>سازگار سیستم خاورمیانه</sub>
<sub>ستیران</sub>
</expansion>
<expansion>
<sub>آبجی</sub>
<sub>خواهر</sub>
</expansion>
<replacement>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</replacement>
<expansion>
<sub>run</sub>
<sub>jog</sub>
</expansion>
</thesaurus>
然后执行这个SQL命令。
EXEC sys.sp_fulltext_load_thesaurus_file 0;
要创建自定义停止列表,只需使用以下代码:
CREATE FULLTEXT STOPLIST [PersianStopList]
然后添加您的停用列表
ALTER FULLTEXT STOPLIST [PersianStopList] ADD 'از' LANGUAGE 'Neutral';
完整的波斯语信息:
https://www.dotnettips.info/courses/topics/13#/page/1/date/desc
要在 SQL 服务器停止列表、全文目录等中使用波斯语,我们应该使用 Neutral
。如果你不在目录中使用 Neutral
我建议你将它更改为 Neutral
,有时它是空的,如下所示:
您的问题通过此查询解决任何语言:
--View Stoplist word
SELECT w.stoplist_id,
l.name,
w.stopword,
w.language
FROM sys.fulltext_stopwords AS w
INNER JOIN sys.fulltext_stoplists AS l
ON w.stoplist_id = l.stoplist_id;
-- Stopwords list
CREATE FULLTEXT STOPLIST StopListCustome;
GO
-- Add a stopword
ALTER FULLTEXT STOPLIST StopListCustome
ADD 'SQL' LANGUAGE 'English';
GO
ALTER FULLTEXT STOPLIST StopListCustome
ADD 'از' LANGUAGE 'Neutral';
在 github
上查找此文档和代码
您还可以使用以下列表添加波斯语和英语的任何停用列表文本:
Download Persian or Farsi stoplist for many words
Download Persian or Farsi stoplist for standard
words
我需要自定义波斯语的全文搜索。并为此语言自定义 Stop/Noise 个单词和同义词。
我的SQL服务器版本是2016,安装了全文搜索
终于找到解决办法了。
默认情况下,当您创建全文索引时,它与系统非索引字表相关联。默认的非索引字表有超过 150 个英语单词。
configure-and-manage-stopwords-and-stoplists-for-full-text-search
full-text-search-stoplist-and-stopword
打开这个文件然后添加你的话
[SQL 服务器路径]\MSSQL13.MSSQLSERVER\MSSQL\FTData\tsglobal.xml
<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>
<expansion>
<sub>سازگار سیستم خاورمیانه</sub>
<sub>ستیران</sub>
</expansion>
<expansion>
<sub>آبجی</sub>
<sub>خواهر</sub>
</expansion>
<replacement>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</replacement>
<expansion>
<sub>run</sub>
<sub>jog</sub>
</expansion>
</thesaurus>
然后执行这个SQL命令。
EXEC sys.sp_fulltext_load_thesaurus_file 0;
要创建自定义停止列表,只需使用以下代码:
CREATE FULLTEXT STOPLIST [PersianStopList]
然后添加您的停用列表
ALTER FULLTEXT STOPLIST [PersianStopList] ADD 'از' LANGUAGE 'Neutral';
完整的波斯语信息: https://www.dotnettips.info/courses/topics/13#/page/1/date/desc
要在 SQL 服务器停止列表、全文目录等中使用波斯语,我们应该使用 Neutral
。如果你不在目录中使用 Neutral
我建议你将它更改为 Neutral
,有时它是空的,如下所示:
您的问题通过此查询解决任何语言:
--View Stoplist word
SELECT w.stoplist_id,
l.name,
w.stopword,
w.language
FROM sys.fulltext_stopwords AS w
INNER JOIN sys.fulltext_stoplists AS l
ON w.stoplist_id = l.stoplist_id;
-- Stopwords list
CREATE FULLTEXT STOPLIST StopListCustome;
GO
-- Add a stopword
ALTER FULLTEXT STOPLIST StopListCustome
ADD 'SQL' LANGUAGE 'English';
GO
ALTER FULLTEXT STOPLIST StopListCustome
ADD 'از' LANGUAGE 'Neutral';
在 github
上查找此文档和代码您还可以使用以下列表添加波斯语和英语的任何停用列表文本:
Download Persian or Farsi stoplist for many words
Download Persian or Farsi stoplist for standard words