2

我有一个带有 FTS4 搜索功能的 sqlite 数据库。它有很多带有变音符号的阿拉伯语文本,这对于查看和可读性很重要,但对于搜索不重要。

我希望搜索与变音符号无关,但它似乎只能在我键入它们时找到完全匹配的匹配项,并忽略所有甚至具有单个变音符号的内容。

我如何防止它这样做。我知道自定义 sqlite 函数在 android 中是不行的,并且标记器非常有限。

4

2 回答 2

0

以我的经验,最短的解决方案是存储两种形式的阿拉伯字符串,使用变音符号进行显示,不使用变音符号进行搜索。因此,您可以使用简单的数据库搜索功能。

只有当您的应用程序使用某种高级搜索引擎时,您才能实现阿拉伯语变音符号词干提取功能来过滤此类变音符号。(有些已经有这样的功能)

搜索引擎在索引时使用词干提取功能。

于 2014-01-12T10:36:28.940 回答
-2

这是一个例子

SELECT field
from myTable
where replace (replace(replace (replace(replace(replace(replace(replace(
      field 
      ,char(1612) ,"") ,char(1611) ,""),char(1614) ,""),char(1615) ,""),char(1616) ,""),char(1617) ,""),char(1618) ,""),char(1648) ,"") 
      like '%طائفة%'
于 2018-06-11T12:19:08.947 回答