问题标签 [accent-insensitive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
578 浏览

search - Solr 架构。重音完全匹配和重音不敏感匹配

我试图弄清楚如何配置 Solr 管理模式的 fieldType 以实现以下目标:
(a) 搜索非重音字符串时,结果将不区分重音。
(b)但是,在对重音字符串执行搜索时,结果将仅对重音敏感。

例如:
searchString -> expectedResult
Equipe -> Equipe, Equipé, Equipe, 等等...

装备 -> 装备


注意:通配符 (*) 无关紧要,所选单词仅用于演示目的。

由于一些要求限制,我的情况有点不常见,但使用我的模式(如下),我有 3 个字段;OName、OSearch、ONameSearch。(注意:OSearch 和 ONameSearch 在后端有不同的用途,所以需要单独定义) 目的是让我的 Solr 查询 OSearch 和 ONameSearch,并将 OName 返回给 UI。

我最初的理解是 OName 将存储原始值(“María”)并将其索引为不区分重音(“maria”),以便在没有 solr.ASCIIFoldingFilterFactory 的情况下进行查询时,将实现以下目标。

示例:{query} -> {OName = result}
q = OSearch:*equipe* OR ONameSearch:*equipe*-> OName = Equipe、Equipé、Equipé 等
q = OSearch:*equipé* OR ONameSearch:*equipé*-> OName = Equipé


到目前为止,这是我的架构......


请指教,谢谢!

我研究过的大多数(如果不是全部)相关资源
如何在 Solr 中忽略重音搜索
如何在 SOLR 搜索中忽略重音?
SOLR 和重音字符
Solr 重音删除
SOLR 使用重音字符轻松搜索
Solr 参考指南 6.6 定义字段
Solr 参考指南 6.6 复制字段

0 投票
0 回答
452 浏览

mongodb - Spring-boot + mongodb 找不到带重音的单词

大家早上好,

我在使用带有 spring-boot 的 MongoRepository 时遇到问题,我创建了查询接口来访问 mongodb 集合,并且正在发生以下情况。

例如:我有一个带有“title”属性及其值“Christmas Promotion”的文档,我创建了一个搜索标题的方法,即 findByTitleLikeIgnoreCase(字符串标题),但是当我搜索没有重音符号的“promoção”时不会返回记录,如果我用重音打字通常会带来。

在银行直接查询或者使用mongodriver都可以,我也用TextCriteria测试过,也可以,但是使用MongoRepository接口我有这个问题,还有其他人经历过吗?

提前致谢。

0 投票
1 回答
1041 浏览

postgresql - unaccent() 不适用于 plpgsql 动态查询中的希腊字母

我使用 PostgreSQL 10 并且CREATE EXTENSION unaccent;成功运行。我有一个包含以下内容的 plgsql 函数 whereText := 'lower(unaccent(place.name)) LIKE lower(unaccent($1))';

之后,根据用户的选择,可能会在whereText.

最终whereText在查询中使用:

即使我删除了零件,它whereText := 'LOWER(unaccent(place.name)) LIKE LOWER(unaccent($1))';也不起作用。LOWER

我这样做select __my_function('Τζι');了,但我什么也没得到,即使我应该得到结果,因为在数据库中有名字Τζίμα

如果我删除unaccent并保留它,它LOWER可以工作,但不适用于重音:按原样恢复。似乎是引起了问题。τζΤζίμαunaccent

我错过了什么?我怎样才能解决这个问题?

由于有关于语法和可能的 SQLi 的评论,我提供了整个函数定义,现在更改为在希腊语中不区分重音和不区分大小写:

0 投票
1 回答
181 浏览

coldfusion - 如何在 Mura 中处理西班牙语网站中的重音字符

我遇到的问题是当用户在西班牙网站上时,如果他们输入的单词不正确,他们将无法看到所有结果。意思是,如果他们的字符在字符上方没有重音,结果将显示为空白。

例如,如果用户键入单词“Medico”而“é”顶部没有重音,则搜索将返回空白。

我正在使用 Mura,一个创建搜索的 CMS。我能够根据用户输入找到它搜索的功能。但是,我无法清楚地了解查询是如何实现的。

我正在尝试修改该函数以使其使用排序规则,我找到了一个关于如何在stackoverflow上使用的示例,它将处理西班牙语或任何其他语言的口音。

我认为它应该在“where”之后并有一个 cfif 语句,如果它是西班牙站点,则合并排序规则。

请注意,查询是在coldfusion中完成的:

我的问题是:排序规则在上面的查询中应该放在哪里?还是有比在查询中使用排序规则更好的方法?

或者我应该联系 Mura,看看是否需要实施一个新框架来实现我正在寻找的东西?

任何帮助表示赞赏

0 投票
1 回答
534 浏览

postgresql - Amazon RDS + PostgreSQL + 重音 + 喜欢

我在使用标题中描述的配置时遇到了很多麻烦。

我的问题 :

  • 我在 AWS RDS 中有一个 PostgreSQL DB 10.0
  • 数据库配置为 UTF-8
  • 我有一张用法语描述疾病的表格(所以,有口音)
  • 我想查找描述中包含特定单词的所有代码

例如,我的搜索是 : SELECT * FROM cim10 WHERE description LIKE '%anémie%' ORDER BY weight DESC效果很好。

问题是当我想要寻找 '%anemie%' (没有重音)时获得相同的结果。

我发现 AWS RDS 安装了 unaccent 模块,它可以解决我的问题,但是当我尝试它时,我的 lambda 函数出现错误:

在此处输入图像描述

有人可以帮我找出解决方案吗?非常感谢

0 投票
2 回答
425 浏览

postgresql - Yii2:重音不敏感过滤器

我想使用不区分重音来搜索单词。对于不区分大小写,我使用ilike

但是对于口音不敏感,我不知道 Yii2 解决方案(否则我可以使用这个 PHP解决方案)。

在下一个示例中,我搜索了“camara”这个词,但没有找到“cámara”这个词(在西班牙语中是相机的意思):

未找到结果

0 投票
0 回答
95 浏览

mips - 如何在 MIPS 中制作对口音不敏感的回文检查器?

我正在 MIPS 中编写一个回文检查器,我试图让它不区分重音,这样像“ahà”这样的东西也会被认为是回文。但是,它看起来不像不区分大小写的场景那么简单,其中小写字母和大写字母之间存在固定值。

我问过我的老师,她说我可以检查整个字符串并将任何“è”替换为“e”,然后再次检查以将任何“é”替换为“e”等等,但她告诉我那里是一个更好的解决方案,并要求我考虑一下。到目前为止,我唯一注意到的是重音符号在扩展的 ASCII 码中,所以 > 127,但我似乎不明白该怎么做。有人能帮我吗?即使只是提示也将不胜感激,在此先感谢您。

0 投票
1 回答
227 浏览

elasticsearch - 如何使用 elasticsearch nest api 创建自定义分析器以忽略重音和 pt-br 停用词?

首先,考虑我正在使用一个“新闻”类(葡萄牙语中的 Noticia),它有一个名为“内容”的字符串字段(葡萄牙语中的 Conteudo)

我正在尝试创建一个索引,该索引被配置为忽略重音和 pt-br 停用词,并允许在高亮查询中分析多达 40mi 的字符。

我可以使用以下代码创建这样的索引:

如果我使用 Kibana 开发工具测试这个分析器,我会得到我想要的结果:没有重音符号和停用词被删除!

结果:

当我使用 NEST 使用折叠分析器分析查询时,返回相同(良好)的结果(返回令牌“Ferias”和“funcionarios”)

但是,如果我使用 NEST ElasticSearch .NET 客户端执行搜索,则“Férias”(带口音)和“Ferias”(不带口音)之类的术语将被视为不同。

我的目标是执行一个返回所有结果的查询,无论这个词是 Férias 还是 Ferias

这就是我用来查询弹性搜索的简化代码(C# 嵌套):

这就是与 searchResponse 关联的扩展 API 调用

我也尝试在查询中使用多字段和后缀,但没有成功

任何线索我做错了什么或我可以做些什么来达到我的目标?

提前非常感谢!

0 投票
1 回答
114 浏览

java - 使用java将重音字符转换为英文

我有一个要求,我需要使用重音字符进行搜索,这些字符可以用于来自Iceland和的用户Japan。我编写的代码适用于一些重音字符,但不是全部。下面的例子 -

以下是我的代码:-

也试过这个:-

请指教。

0 投票
2 回答
678 浏览

laravel - MongoDB 匹配部分文本忽略重音符号(变音符号)

我有两个应该与简单文本匹配的字段。

我目前正在使用 Jenssegers'Laravel Mongodb ( https://github.com/jenssegers/laravel-mongodb )

现在的代码是这样的,几乎可以像我想要的那样工作:

缺少的是我想忽略字段中的重音namecommonName,因此例如,如果content.itemList.name“foöBàr”并且查询是“obar”,我应该在结果中得到它。

编辑:经过几天的尝试,我还没有找到解决方案。

我认为应该在 MongoDB 中轻松完成一些如此微不足道的事情。

我尝试过的其他事情:

  • 为我要搜索的字段创建了一个文本索引
  • 使用排序规则,这显然不适用于正则表达式

示例文档

我想要的是:

匹配任何姓氏、名字或带有部分字符串(lian、appe、mbappe 等)的名称的查询,不区分大小写和变音符号(重音)。

好的匹配应该是,例如:“Mbappe”“appe”“mbapp锓Kylian”“kylian mbappe”