full-text-search - Couchbase 全文搜索特殊字符或重音
问题描述
我需要帮助设置Couchbase 全文搜索。
我尝试忽略特殊字符,例如重音符号,以获得更大的灵活性。
我认为解决方案是在“分析器”和“自定义过滤器”的配置中。通过创建这样的“字符过滤器”(每个字母一个),没有效果:
Regular Expression: [àáâãäåæ]
Replacement: a
任何想法?
解决方案
一种可能的解决方案是使用Fuzzy Query
.
根据文档:
模糊查询匹配指定编辑(或 Levenshtein)距离内的术语:这意味着当术语在指定程度相似时被认为匹配,而不是精确。规定长度的公共前缀也可以指定为匹配要求。
为了您的需要,我将从 1 的模糊性开始并尝试一下:
{
"term": "hellå",
"field": "test.field",
"fuzziness": 1
}
如果您使用 SDK,您可以在此处找到使用示例。
例如:
TermQuery query = SearchQuery.term("hellå").field("test.field").fuzziness(1);