搜索阿拉伯语文本包含任何单词 SQL 服务器

Search Arabic Text Contain Any Word SQL Server

我在 SQL 服务器中的阿拉伯语全文搜索中遇到问题,如果用户在 asp.net 应用程序的搜索文本中搜索单词“الجامع توسير”并点击搜索按钮,我想结果得到所有行都有任何单词包含“الجامع”或“تفسير”或“♬امع”

MS-SQL 中的全文索引在某种程度上取决于所包含文本所用的语言。它试图通过使用 "breakers" [=13= 来查找 "words" ]

因为我目前使用的是全文索引,所以我对此略有了解,但不幸的是我完全不知道你的结果是什么意思(抱歉,我不懂阿拉伯字母)。

只要记住分隔符,并且它只适用于分隔符之间识别出的单词。也许这有帮助:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/dc1a0efa-301b-425d-aa76-1e34144b18fd/using-full-text-search-with-arabic-and-english-data?forum=sqlsearch

[编辑] 语言 ID 列表:https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-fulltext-languages-transact-sql

这里是 MS 的一些示例,其中指定了语言 ID。 https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-fulltext-languages-transact-sql

使用 AdventureWorks2012;

创建全文目录 production_catalog;

在 Production.ProductReview
上创建全文索引 (
评论人姓名
语言 1033,
电子邮件地址
语言 1033,
评论
语言 1033
)
关键索引 PK_ProductReview_ProductReviewID
ON production_catalog;