搜索阿拉伯语文本包含任何Word SQL Server

时间:2017-11-03 19:35:29

标签: asp.net sql-server arabic

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

1 个答案:

答案 0 :(得分:0)

MS-SQL中的全文索引有点依赖于所包含文本的语言。它试图通过使用“破坏者”找到“单词”

由于我目前使用的是全文索引,我对此有所了解,但遗憾的是我根本不知道你的结果意味着什么(抱歉,不知道阿拉伯语字母)。

请记住断路器,并且它只适用于断路器之间识别的字。也许这会有所帮助:

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

USE AdventureWorks2012;
GO
CREATE FULLTEXT CATALOG production_catalog;
GO
在Production.ProductReview上创建FULLTEXT索引  (
  ReviewerName
     语言1033,
  EmailAddress的
     语言1033,
  评论
     语言1033
 )
  关键指标PK_ProductReview_ProductReviewID
      ON production_catalog;
GO