Confirmação de que o locale do seu site está em japonês ou que search tokenize chinese japanese korean está habilitado
Sim, confirmei que ambas as configurações estão corretas.
Uma coisa incrível aconteceu. Após alterar o ‘comprimento mínimo do termo de busca’ do valor padrão de 2 para 1, agora conseguimos pesquisar por katakana. Não sei o motivo, mas essa configuração é relevante?
Consigo reproduzir isso e é principalmente devido a uma combinação de
e
O termo テスト é convertido para テ ス ト após passar pelo CppjiebaRb, o que aciona o protetor min_search_length que temos.
@sam Isso é complicado de corrigir, pois precisamos de um tokenizador adequado para o japonês para resolver problemas de busca como esse de vez. Podemos fazer ajustes aqui e ali, mas será um jogo de ‘quem bate no topo’.
Não acredito que exista um segmentador japonês adequado que possamos usar.
Acho que o melhor a fazer aqui é simplesmente reduzir esses padrões para 1.
Caso contrário, estaremos impedindo que as pessoas busquem por “casa” em japonês, o que parece razoável (家) … permitimos que as pessoas busquem por “casa” em inglês.
Se bem me lembro, inicializei o site com a localidade em inglês e depois mudei a configuração para japonês.
As palavras que descobri que falharam na busca são “北側”, “真上”, “一般”. Essas palavras estão em este tópico. Muitas palavras funcionam, mas essas não. Não vejo nenhum padrão se uma palavra funciona ou não.
Existe alguma maneira de verificar o índice de busca gerado na instância hospedada? Posso ler Ruby e japonês, então se houver uma maneira de ver como o Discourse gera o índice de busca para CJK, talvez eu possa ajudar.
CppjiebaRb, ou cppjieba, mencionado por @tgxworld parece ser para chinês. É usado para a localidade japonesa?
O Mecab não é uma opção, infelizmente, ele é GPL e preferimos apenas adotar licenças MIT e BSD em dependências.
Temos um PR que adicionará TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア, que tem uma licença compatível. Você pode testar a segmentação e nos informar como funciona? Há um formulário no site que você pode usar para testar.