Python/Django和阿拉伯语文档搜索应用程序

2024-05-16 03:53:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我在硕士学位的时候就有一些信息检索方面的背景。现在我想把它用于为一本用阿拉伯语写的书构建文档搜索应用程序。在

我的主要工具是Django和PostgreSQL或MySQL,这取决于这里发布的建议。在

我已经在美国用Django开发了5年,但从未需要国际化或任何Unicode支持。所以我的问题是,如何处理阿拉伯语单词。在

我的流程如下:

1)我有一些.html文件,其中有几行阿拉伯单词。我将构建一个解析器/标记器/词干分析器并存储到数据库

2)当用户输入一个单词进行搜索时,我会将其词干,并与我的数据库进行比较。在

我需要的帮助是:

1)词干/单词/行是作为阿拉伯语单词还是python unicode字符串存储在数据库中

2)如果我将它们存储为阿拉伯语单词,最好是PostgreSQL或MySQL,以及如何支持阿拉伯语。在

3)如果我将它们存储为unicode字符串,django管理员会将它们显示为阿拉伯语单词吗。因为如果是这样的话,那就足够了。另外,管理员可以支持阿拉伯语吗?一、 如果我想更改数据库中的某些内容,可以通过管理员完成吗。在

4)如何让Django ORM支持存储解析器将输出的阿拉伯语单词?在


Tags: django字符串文档数据库应用程序解析器postgresql管理员
1条回答
网友
1楼 · 发布于 2024-05-16 03:53:39

我在Django工作了两年,在我的应用程序中经常使用希伯来语文本(无论是在html还是服务器端)。我发现Django非常擅长国际化和使用unicode(坦率地说,Django比python更出色)。在

只要遵循以下几点建议,你可能会没事的:

  1. 对于应用程序中包含外来字符的每个.py文件,请确保在文件顶部添加一个utf-8bash:# encoding=utf-8

  2. 当使用带阿拉伯字符的字符串时,一定要在字符串前面加一个小u。一定要时刻牢记这一点。无论何时使用字符串:

    u'some arabic word' #this will work
    u'%s' % word #this will work
    'some string' + u'some arabic string' #this will fail        
    u'some string' + u'some arabic string' #this will work
    
  3. 第一次创建数据库时,请确保使用正确的utf-8保存它(Database Chartset = utf8和{}应该可以)。

  4. 确保所有显示阿拉伯语的页面在html中都有这个meta标记(最好在基本.html文件并使所有模板都继承它):<meta charset='utf-8'>

通常应该是这样。是啊,我知道,通常外国角色都很让人头疼,对吧?不是和Django在一起。在

相关问题 更多 >