# Normalização de Pesquisa em Árabe: Falta Suporte para Variantes de Hamza, Formas de Ya/Kaf e Equivalência Ortográfica

**URL:** https://meta.discourse.org/t/arabic-search-normalization-missing-support-for-hamza-variants-ya-kaf-forms-and-orthographic-equivalence/384253
**Category:** Feature
**Tags:** search, pr-welcome, localization, rtl
**Created:** [29 Setembro , 2025 08:27 UTC](https://meta.discourse.org/t/arabic-search-normalization-missing-support-for-hamza-variants-ya-kaf-forms-and-orthographic-equivalence/384253 "2025-09-29T08:27:57Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![serkhelesheyi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/serkhelesheyi/32/497726_2.png) [@serkhelesheyi](https://meta.discourse.org/u/serkhelesheyi)
#### Post date: [29 Setembro , 2025 08:27 UTC](https://meta.discourse.org/t/arabic-search-normalization-missing-support-for-hamza-variants-ya-kaf-forms-and-orthographic-equivalence/384253/1 "2025-09-29T08:27:57Z")

</div>

Olá equipe do Discourse,

Estamos executando um fórum multilíngue com conteúdo significativo em árabe e persa e encontramos uma limitação crítica na funcionalidade de pesquisa relacionada à normalização ortográfica árabe.

## 🔍 Descrição do Problema

O script árabe inclui múltiplas representações Unicode para caracteres semanticamente idênticos. Infelizmente, o mecanismo de busca atual do Discourse parece tratar essas variantes como distintas, o que leva a resultados de pesquisa incompletos ou enganosos.

### Exemplos:

- Pesquisar por `إطلاق مقامي` retorna apenas correspondências exatas, enquanto postagens contendo `اطلاق مقامي`, `أطلاق مقامي` ou `إطلاق‌مقامي` são excluídas.
- Da mesma forma, pesquisar por `ي` (U+064A) não corresponde a `ی` (U+06CC), e `ك` (U+0643) falha em corresponder a `ک` (U+06A9), apesar de sua equivalência funcional em contextos árabe/persa.

Isso afeta não apenas as variantes de hamza (`أ`, `إ`, `ء`, `ؤ`, `ئ`), mas também substituições comuns como:

| Caractere | Unicode | Normalização Sugerida |
| --- | --- | --- |
| `أ`, `إ`, `ء`, `آ` | U+0623, U+0625, U+0621, U+0622 | Normalizar para `ا` |
| `ؤ` | U+0624 | Normalizar para `و` |
| `ئ` | U+0626 | Normalizar para `ي` |
| `ى` | U+0649 | Normalizar para `ي` |
| `ة` | U+0629 | Normalizar para `ه` |
| `ي` vs `ی` | U+064A vs U+06CC | Normalizar para `ی` |
| `ك` vs `ک` | U+0643 vs U+06A9 | Normalizar para `ک` |

Esse problema é agravado quando os usuários omitem diacríticos ou usam diferentes layouts de teclado, resultando em comportamento de pesquisa fragmentado.

* * *

## ⚙ Solução Proposta

Recomendamos a implementação de uma camada de normalização ciente de Unicode durante a indexação e a análise de consultas. Isso pode ser alcançado por meio de:

1. **Pré-processamento do conteúdo indexado e das consultas do usuário** para unificar as variantes de caracteres.
2. **Aplicação de regras de normalização** semelhantes às usadas em bibliotecas de Processamento de Linguagem Natural (PLN) árabes ou mecanismos de busca (por exemplo, Farasa, Hazm ou mapeadores personalizados baseados em regex).
3. Opcionalmente, **suporte à correspondência aproximada** ou distância de Levenshtein para correspondências quase exatas.

Aqui está um exemplo simplificado de uma função de normalização (estilo Java):

```java
public static String normalizeArabic(String text) {
  return text.replace("أ", "ا")
             .replace("إ", "ا")
             .replace("آ", "ا")
             .replace("ؤ", "و")
             .replace("ئ", "ي")
             .replace("ى", "ي")
             .replace("ة", "ه")
             .replace("ي", "ی")
             .replace("ك", "ک");
}

```

* * *

## 🙏 Solicitação

Essa normalização poderia ser considerada para inclusão no mecanismo de busca principal ou como um plugin? Isso melhoraria significativamente a usabilidade para as comunidades de língua árabe e persa que usam o Discourse.

Se houver uma solução alternativa ou plugin existente que resolva isso, agradeceríamos qualquer orientação.

Obrigado pelo seu tempo e por construir uma plataforma tão poderosa.

Atenciosamente

---

_[View the full topic](https://meta.discourse.org/t/arabic-search-normalization-missing-support-for-hamza-variants-ya-kaf-forms-and-orthographic-equivalence/384253)._
