# Tutorial sobre Workspaces e Busca Avançada do Noterich
Numa era em que o excesso de informações é a norma, organizar suas ideias digitais de maneira eficiente não é apenas um luxo – é uma necessidade. **Noterich** introduz duas funcionalidades poderosas projetadas para transformar a forma como você gerencia e recupera conhecimento: **Multi-Workspaces Isolados** e **Busca Semântica Avançada**.
Este tutorial guiará você a dominar essas funcionalidades, ajudando a criar um sistema de gerenciamento de conhecimento personalizado que se adapta às suas necessidades.
---
## Parte 1: Entendendo os Workspaces no Noterich
### O que são Workspaces?
Imagine ter cadernos físicos separados para diferentes áreas da sua vida – um para projetos profissionais, outro para diários pessoais e um terceiro para notas de pesquisa. **Workspaces** no Noterich trazem essa organização clara para seu ambiente digital.
Cada workspace no Noterich é um **contenedor totalmente isolado** para suas notas, com seu próprio:
- Banco de dados de notas independente
- Índice de busca separado
- Roteamento de URL único
- Contexto de memória AI isolado
```mermaid
graph TB
subgraph "Aplicação Noterich"
A[Router de Workspace] --> B[Workspace: Trabalho]
A --> C[Workspace: Pessoal]
A --> D[Workspace: Pesquisa]
B --> B1[Banco de Dados de Notas]
B --> B2[Índice de Busca]
B --> B3[Contexto AI]
C --> C1[Banco de Dados de Notas]
C --> C2[Índice de Busca]
C --> C3[Contexto AI]
D --> D1[Banco de Dados de Notas]
D --> D2[Índice de Busca]
D --> D3[Contexto AI]
end
style A fill:#000,stroke:#000,color:#fff
style B fill:#fafafa,stroke:#eaeaea,color:#333
style C fill:#fafafa,stroke:#eaeaea,color:#333
style D fill:#fafafa,stroke:#eaeaea,color:#333
```
### Por que usar vários Workspaces?
| Cenário | Benefício |
|----------|---------|
| **Separação entre Trabalho e Vida Pessoal** | Manter notas profissionais completamente separadas dos diários pessoais |
| **Isolamento de Projetos** | Dedicar workspaces a clientes específicos ou projetos de longo prazo |
| **Comutação de Contextos** | Alternar instantaneamente entre diferentes contextos mentais sem distrações |
| **Controle de Privacidade** | Compartilhar workspaces específicos sem expor conteúdo não relacionado |
| **Otimização de Desempenho** | Grandes bases de conhecimento permanecem rápidas quando divididas em workspaces focados |
---
## Parte 2: Navegando entre Workspaces
### O Sistema de Router de Workspace
O Noterich utiliza um sistema de roteamento inteligente que memoriza suas preferências de workspace e oferece navegação contínua.
#### Identificação de Workspace baseada em URL
Cada workspace tem um identificador único refletido na URL do seu navegador:
```
https://noterich.app/#workspace=work-projects
https://noterich.app/#workspace=personal-journal
https://noterich.app/#workspace=research-notes
```
O ID do workspace é:
- **Seguro para URL**: Apenas caracteres alfanuméricos, hífenos e sublinhados são permitidos
- **Permanente**: Armazenado no armazenamento local do navegador para recuperação rápida
- **Compartilhável**: Você pode compartilhar links diretos para workspaces específicos
#### Como Funciona a Mudança de Workspace
Quando você muda de workspace no Noterich, o que acontece por trás das cenas:
```mermaid
sequenceDiagram
participant U como Usuário
participant R como Router de Workspace
participant L como LocalStorage
participant W como Web Worker
participant S como Motor de Busca
participant D como IndexedDB
U->>R: Clique em mudar workspace
R->>L: Salvar ID do workspace
R->>R: Atualizar hash de URL
R->>W: Enviar ID do workspace para W
R->>S: Reinicializar motor de busca
W->>D: Mudar conexão do banco de dados
S->>D: Carregar índice específico do workspace
S-->>U: Notificação de busca pronta
```
### Melhores Práticas para Nomes de Workspaces
Escolha IDs de workspace que sejam:
- **Descriativos**: `marketing-q4-2025` em vez de `work1`
- **Consistentes**: Use uma convenção de nome em toda a organização
- **Próximos do futuro**: Evite nomes temporários, a menos que sejam temporários (`project-phoenix` em vez de `temp-notes`)
---
## Parte 3: Arquitetura de Busca Avançada
### Do Matching de Palavras-Chave à Compreensão Semântica
Os ferramentas de busca tradicionais dependem do matching exato de palavras-chave. Se você pesquisar por "automobile", eles não encontrarão notas contendo "car". O motor de busca avançado do Noterich vai além dessa limitação.
#### O Sistema de Busca de Duas Camadas
O Noterich utiliza uma arquitetura de busca sofisticada em duas camadas:
```graphviz
digraph SearchArchitecture {
rankdir=TB;
node [shape=box, style="rounded,filled", fillcolor="#fafafa", color="#eaeaea", fontname="Inter", fontsize=11];
edge [color="#d4d4d4", penwidth=1.5];
Query [label="Pergunta do Usuário", fillcolor="#000", color="#000", fontcolor="#ffffff"];
subgraph cluster_processing {
label = "Pipa de Processamento da Pergunta";
style = "filled";
fillcolor = "#f9f9f9";
color = "#eaeaea";
Segment [label="Segmentação de Texto\n(Intl.Segmenter + Smart Fallback)";
Tokenize [label="Classificação de Tokens\n(E-mails, URLs, Números, CJK)"];
}
subgraph cluster_search {
label = "Execução Paralela da Busca";
style = "filled";
fillcolor = "#f9f9f9";
color = "#eaeaea";
Precise [label="Correspondência Precisa\n>título campo bruto\n>Peso: 1.0"];
Fuzzy [label="Correspondência Fuzzy\n>título/campos de conteúdo\n>Peso: 0.8"];
}
Merge [label="Mergência de Pontuação e Classificação"];
Results [label="Resultados finais\n com destaques"];
Query -> Segment;
Segment -> Tokenize;
Tokenize -> Precise;
Tokenize -> Fuzzy;
Precise -> Merge;
Fuzzy -> Merge;
Merge -> Results;
}
```
### Segmentação de Texto Inteligente
A base do poder de busca do Noterich reside em suas capacidades avançadas de segmentação de texto.
#### Suporte a Múltiplos Idiomas
O motor de busca detecta e segmenta texto em múltiplos idiomas automaticamente:
| Tipo de Idioma | Exemplos | Estratégia de Segmentação |
|---------------|----------|----------------------|
| **Baseado em Latin** | Inglês, Espanhol, Francês | Detecção de limites de palavra |
| **CJK** | Chinês, Japonês, Coreano | Segmentação em nível de caractere usando Intl.Segmenter |
| **Mistos** | Trechos de código, URLs, e-mails | Extracção baseada em padrões |
| **Númericos** | Datações, preços, números de telefone | Reconhecimento de padrões especializados |
#### Reconhecimento de Padrões Inteligentes
O Noterich reconhece e preserva padrões importantes durante a segmentação:
- **Endereços de e-mail**: `user@example.com`
- **URLs**: `https://example.com/path`
- **Números de telefone**: `+1-555-123-4567`
- **Datações**: `2025-01-15`, `15/01/2025`
- **Moedas**: `$1,234.56`, `¥500`
- **Medidas**: `42℃`, `100km/h`
Isso garante que a busca por `user@example.com` encontre o endereço de e-mail exato, não resultados fragmentados para `user`, `example` e `com`.
---
## Parte 4: Domínio das Consultas de Busca
### Sintaxe e Operadores de Consulta
O Noterich suporta uma sintaxe de consulta poderosa para a recuperação precisa de informações.
#### Busca Básica
Basta digitar sua consulta para pesquisar em todo o conteúdo indexado:
```
Quarterly marketing strategy
```
Isso pesquisa tanto o título quanto o conteúdo completo, retornando resultados classificados por relevância.
#### Busca Múltipla com OR
Use o símbolo `|` para pesquisar vários termos alternativos:
```
Q4 planning | quarterly review | year-end summary
```
Isso retorna notas que correspondem a **qualquer** dos termos especificados, perfeito para sessões de brainstorming onde a terminologia pode variar.
#### Sistema de Pontuação ponderada
O Noterich utiliza um algoritmo de pontuação sofisticado:
```
Tipo de Correspondência | Pontuação | Descrição
--------------------|--------|-------------------------------------
Precise (título bruto) | 1.0 | Correspondência exata no título original
Fuzzy (título) | 0.8 | Correspondência segmentada no título tokenizado
Fuzzy (conteúdo) | 0.8 | Correspondência segmentada no conteúdo da nota
```
Os resultados são classificados por:
1. **Prioridade do tipo de correspondência**: Correspondências precisas têm maior prioridade do que correspondências fuzzy
2. **Pontuação cumulativa**: Múltiplas correspondências aumentam a pontuação
3. **Cobertura de Subconsultas**: Notas que correspondem a mais subconsultas têm maior classificação
### Exemplos de Busca no Real
#### Exemplo 1: Encontrando Notas de Reunião
```javascript
// Consulta de busca
"team standup | daily sync | morning meeting"
// Retorna notas contendo qualquer uma dessas frases,
// com prioridade às correspondências exatas de título
```
#### Exemplo 2: Busca em Documentação Técnica
```javascript
// Consulta de busca
"API endpoint authentication"
// Segmentação inteligente e encontro:
// - Notas mencionando "API" e "endpoint" e "authentication"
// - Preservação de "API" como um único token
// - Correspondência tanto em camelCase quanto em variações espaçadas
```
#### Exemplo 3: Conteúdo Multilíngue
```javascript
// Consulta de busca (inglês e chinês mistos)
"project roadmap 项目规划"
// Segmentação e busca simultânea em ambos os idiomas
```
### Assistente de Navegação em Documentos Longos
Uma das características destacadas do Noterich é sua capacidade de lidar com **documentos enormes** com facilidade. Seja trabalhando com especificações técnicas, artigos de pesquisa ou documentação de projetos abrangentes, encontrar conteúdo específico em documentos longos é simples.
#### Como Funciona a Busca dentro do Documento
Quando você realiza uma busca, o Noterich não apenas retorna documentos correspondentes – fornece **navegação precisa dentro do documento**:
```mermaid
sequenceDiagram
participant Usuário
participant Motor de Busca
participant Indexação do Documento
participant Visor
Usuário->>Motor de Busca: Entrar com consulta de busca
Motor de Busca->>Indexação do Documento: Buscar em todos os workspaces
Indexação do Documento-->>Motor de Busca: Retornar documentos correspondentes + posições de encontro
Motor de Busca->>Usuário: Exibir resultados com contagem de correspondências
Usuário->>Usuário: Clique em um resultado
Motor de Busca->>Visor: Abrir documento no primeiro encontro
Visor->>Usuário: Destacar todos os encontros com controles de navegação
Usuário->>Visor: Ir entre encontros (Próximo/Anterior)
Visor->>Usuário: Mostrar indicador de posição de encontro (por exemplo, "3 de 12")
```
#### Principais Características para Documentos Longos
1. **Exibição de Contagem de Correspondências**: Cada resultado de busca mostra o número de correspondências dentro do documento (por exemplo, "Relatório Anual 2024 · 15 correspondências"), ajudando a identificar quais documentos contêm o conteúdo mais relevante.
2. **Saltos para Encontro Imediatos**: Clicar em um resultado de busca abre o documento e rola automaticamente para o primeiro encontro, com o texto correspondente destacado para visibilidade imediata.
3. **Controles de Navegação**: Use atalhos do teclado ou botões da interface para alternar entre todos os encontros:
- `F3` ou `Cmd+G`: Próximo encontro
- `Shift+F3` ou `Shift+Cmd+G`: Anterior encontro
- Contador visual mostra sua posição atual (por exemplo, "Encontro 7 de 23")
4. **Destaque de Múltiplas Correspondências**: Todas as instâncias do seu termo de busca são destacadas simultaneamente, fornecendo uma visão visual da distribuição em todo o documento.
5. **Preservação do Contexto**: Ao navegar entre encontros, o contexto circundante permanece visível, garantindo que você nunca perca sua posição em documentos complexos.
#### Exemplo Real: Navegação em Especificações Técnicas
Imagine que você tem um documento de especificações técnicas de 50.000 caracteres. Você precisa encontrar todas as menções a "protocolo de autenticação":
| Passo | Ação | Resultado |
|------|--------|--------|
| 1 | Digite `authentication protocol` na barra de busca | Documento de especificações aparece com "8 correspondências" |
| 2 | Clique no resultado da busca | Documento abre, rola para a primeira ocorrência |
| 3 | Pressione `F3` sete vezes | Revisão de todas as 8 ocorrências sequencialmente |
| 4 | Observe os encontros destacados | Visão geral visual da distribuição do termo |
| 5 | Leia o contexto circundante | Contexto completo preservado em cada salto |
Essa capacidade transforma documentos longos de textos intimidantes em estruturas de conhecimento navegáveis, onde qualquer informação está sempre a poucos cliques de distância.
#### Dicas para Busca em Documentos Longos
- **Use Frases Específicas**: Consultas mais longas reduzem falsos positivos em documentos grandes
- **Verifique Contagens de Correspondências**: Altas contagens de correspondências podem indicar termos muito comuns
- **Combine com Filtros de Workspace**: Buscar dentro de workspaces específicos para restringir o escopo
- **Aproveite a Precisão do Título**: Estruturar cabeçalhos de seção claramente para correspondência precisa de títulos
---
## Parte 5: Desempenho em Escala
### Armazenamento Impulsionado por IndexedDB
O Noterich utiliza **IndexedDB** para armazenamento local de alto desempenho, permitindo buscas instantâneas mesmo com bases de conhecimento enormes.
#### Arquitetura do Banco de Dados
Cada workspace mantém seu próprio conjunto de bancos de dados IndexedDB:
```
noterich_note_database_{workspaceId} → Metadados e conteúdo de nota
noterich_search_index_{workspaceId} → Documentos do índice de busca
```
Essa isolação garante:
- **Cambio rápido**: Sem carregamento de dados entre workspaces
- **Backups independentes**: Exportação de workspaces individuais
- **Permissões de Escopo**: Controle de acesso granular
### Atualizações de Índice Incremental
Em vez de reconstruir todo o índice de busca toda vez, o Noterich usa atualizações incrementais inteligentes:
```mermaid
graph LR
A[Nota Salva] --> B{Índice Existe?}
B -->|Sim| C[Comparar Datações]
B -->|Não| D[Construir Índice Completo]
C -->|Mais Recente| E[Atualizar Entrada do Índice]
C -->|Mais Antigo| F[Ignorar - Já Indexado]
E --> G[Persistir no IndexedDB]
D --> G
F --> H[Índice Atual]
```
### Comparação de Desempenho
Nossos testes mostram desempenho excepcional mesmo em escala:
```echarts
{
"xAxis": {
"type": "category",
"data": ["1k Notas", "5k Notas", "10k Notas", "20k Notas", "50k Notas"],
"axisLabel": { "color": "#666", "rotate": 0 }
},
"yAxis": [
{
"type": "value",
"name": "Quantidade de Notas",
"splitLine": { "lineStyle": { "color": "#f4f4f5" } },
"axisLabel": { "color": "#666" }
},
{
"type": "value",
"name": "Latência (ms)",
"splitLine": { "show": false },
"axisLabel": { "color": "#666" }
}
],
"series": [
{
"name": "Quantidade de Notas",
"data": [1000, 5000, 10000, 20000, 50000],
"type": "bar",
"itemStyle": { "color": "#eaeaea", "borderRadius": [4, 4, 0, 0] }
},
{
"name": "Busca em Latência",
"data": [8, 12, 15, 22, 35],
"type": "line",
"yAxisIndex": 1,
"smooth": true,
"lineStyle": { "color": "#000", "width": 3 },
"itemStyle": { "color": "#000" },
"symbol": "circle",
"symbolSize": 8
}
],
"grid": { "left": "10%", "right": "10%", "bottom": "15%" },
"legend": { "data": ["Quantidade de Notas", "Busca em Latência"], "bottom": 0, "textoStyle": { "color": "#666" } }
}
```
Mesmo com **50.000 notas**, as consultas de busca retornam resultados em menos de 40 milissegundos – mais rápido do que o piscar dos olhos.
### Eficiência de Memória
O motor de busca utiliza estruturas de dados otimizadas:
- **FlexSearch de Documento de Índice**: Combina vários campos em um único índice eficiente
- **Mapa de Notas Compartilhado**: Mantém busca O(1) para metadados de nota
- **Processamento em Batches**: Atualiza índices em blocos para evitar bloqueio da IU
- **Carregamento Remoto**: Índices de busca são carregados sob demanda ao mudar de workspace
---
## Parte 6: Melhores Práticas de Gerenciamento de Workspaces
### Criar uma Estrutura de Workspace Eficaz
#### Padrões Recomendados
**Padrão 1: Separação por Domínio**
```
├── work-engineering
├── work-marketing
├── work-hr
└── pessoal
```
**Padrão 2: Organização Centrada em Projetos**
```
├── project-alpha
├── project-beta
├── project-gamma
└── archive-2024
```
**Padrão 3: Organização Temporal**
```
├── 2025-q1
├── 2025-q2
├── 2025-q3
└── 2025-q4
```
### Quando Criar Novos Workspaces
Considere criar um novo workspace quando:
✅ **Limites de Contexto são claros**: Projetos, equipes ou domínios da vida
✅ **Controle de Acesso precisa ser diferente**: Algumas notas precisam ser compartilhadas com restrições
✅ **Bases de Conhecimento crescem grandes**: Dividir quando um único workspace excede 10.000 notas
✅ **Requisitos de Colaboração variam**: Colaboradores diferentes para tópicos diferentes
### Quando Permanecer em um Solo Workspace
Mantenha as notas juntas quando:
❌ **Referências cruzadas são frequentes**: Notas se conectam regularmente
❌ **Busca necessita abranger tópicos**: Você costuma pesquisar em todo o conteúdo
❌ **Custo de Configuração supera benefícios**: Para coleções pequenas (<1.000 notas)
---
## Parte 7: Dicas e Truques Avançados
### Dica 1: Aproveite a Segmentação por Hashtags
O Noterich segmenta automaticamente hashtags para busca:
```
#machine-learning → pesquisável como "machine" + "learning"
```
Isso permite encontrar notas com `#machine-learning` quando se pesquisa por "machine" ou "learning".
### Dica 2: Use Nomes de Arquivos de Anexo na Busca
Nomes de arquivos de anexo são indexados e pesquisáveis:
```
quarterly_report.pdf → pesquisável como "quarterly" + "report" + "pdf"
```
### Dica 3: Equações Matemáticas Podem Ser Pesquisadas
O conteúdo de equações é extraído e indexado:
```
E = mc² → componentes indexados
```
### Dica 4: Otimize para Buscas Comuns
Estruture informações acessíveis frequentemente nos títulos para correspondências precisas:
```
Melhor: "Análise de Orçamento de Tempo do trimestre"
Em vez de: "Algumas ideias sobre números"
```
### Dica 5: Manutenção Regular do Índice
Embora o Noterich gerencie a indexação automaticamente, reestruturações periódicas podem otimizar o desempenho:
1. Abra Configurações → Busca
2. Clique em "Reconstruir Índice de Busca"
3. Espere a notificação de conclusão
Isso é recomendado após:
- Importações em massa (>1.000 notas de uma vez)
- Atualizações importantes da versão
- Notificações de lentidão significativa na busca
---
## Parte 8: Solução de Problemas Comuns
### Problema: Resultados de Busca Faltando Notas Esperadas
**Possíveis Causas:**
1. A nota está em um workspace diferente
2. O índice ainda não foi atualizado
3. A nota está marcada como rascunho
**Soluções:**
- Verifique o indicador do workspace atual na URL
- Espere alguns segundos para que o índice seja atualizado
- Verifique o status da nota (rascunhos são excluídos da busca)
### Problema: Mudança de Workspace Parece Lenta
**Possíveis Causas:**
1. Workspace grande com muitas notas
2. Carregamento inicial do índice
3. Desempenho do browser IndexedDB
**Soluções:**
- Permitir que a cache inicial do índice seja construída (operação única)
- Considere dividir workspaces muito grandes
- Assegure que o navegador tenha espaço de armazenamento suficiente
### Problema: Índice de Busca Desconectado
**Sintomas:**
- Notas editadas recentemente não aparecem na busca
- Notas excluídas ainda aparecem nos resultados
**Solução:**
```
Configurações → Avançado → Reconstruir Índice de Busca
```
Isso força um reindex completo de todas as notas no workspace atual.
---
## Conclusão: Construindo o Seu Segundo Cérebro
Dominar os workspaces e a busca avançada do Noterich transforma sua prática de anotação de notas de um armazenamento passivo em um parceiro ativo de pensamento. Aqui está o seu plano de ação:
### Semana 1: Fundamentos
- [ ] Avaliar notas existentes e identificar limites naturais de workspace
- [ ] Criar 2-3 workspaces iniciais baseados em seus contextos principais
- [ ] Pratique mudar entre workspaces usando navegação por URL
### Semana 2: Otimização
- [ ] Experimente diferentes padrões de consulta de busca
- [ ] Aprenda o operador OR (`|`) para buscas flexíveis
- [ ] Reveja a classificação de resultados de busca e ajuste os títulos de notas correspondentemente
### Semana 3: Domínio
- [ ] Configurar fluxos de trabalho específicos para workspaces
- [ ] Implementar convenções de nomeação consistentes
- [ ] Compartilhar links de workspace com colaboradores
### Contínuo: Manutenção
- [ ] Revisão trimestral da estrutura do workspace
- [ ] Monitorar métricas de desempenho de busca
- [ ] Aperfeiçoar a organização à medida que seu conhecimento cresce
---
<div class="flex flex-wrap gap-2 mt-8 mb-12">
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Workspaces</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Busca Avançada</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Índice Semântico</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">IndexedDB</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Multilíngue</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">PKM</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Local-First</span>
<span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Desempenho</span>
</div>
Pronto para transformar seu fluxo de trabalho?
Seu Hub Privado de Anotações Impulsionado por IA
Aguarda Você
Junte-se a milhares de usuários que confiam no NoteRich para anotações privadas e poderosas. Experimente no seu navegador — sem instalação, sem cartão de crédito, suas notas nunca saem do seu dispositivo.
Sem cartão de crédito
Funciona no navegador
100% notas locais
Recursos e Guias
Explore nossos artigos aprofundados sobre anotações locais, arquitetura de privacidade e fluxos de trabalho avançados de produtividade.
- Tutorial de Espaços de Trabalho e Pesquisa Avançada do NoteRich
- Transforme suas notas em memória de IA dentro do NoteRich
- Transforme Texto em Infográficos Visuais com a IA do NoteRich
- Texto Rico vs Markdown no NoteRich: Como Alternar e Usar Ambos
- Tutorial de Sincronização P2P do NoteRich: Entre Dispositivos Sem Nuvem
- Tutorial de OCR do NoteRich: Digitalize Notas de Papel para Texto Digital
- Criptografia AES-GCM Local-First do NoteRich Explicada
- Tutorial de RAG de Base de Conhecimento Local do NoteRich
- Guia de Equações Matemáticas LaTeX do NoteRich: Como Escrever Fórmulas
- Atalhos de Teclado do NoteRich e Dicas de Produtividade
- Recursos e Benefícios do NoteRich para Anotações Online
- Como Usar a IA Privada do NoteRich para Resumir Documentos de Forma Privada
- Como Usar Mermaid.js para Fluxogramas no NoteRich – Tutorial Completo
- Como Inserir Vídeos e Anexos no NoteRich
- Como Exportar PDF e HTML Sem Marca d'Água no NoteRich
- Como Incorporar ECharts Interativos no NoteRich