拼写错误
Fuzzy matching允许查询时匹配错误拼写的单词。
语音语汇单元过滤器可以在索引时用来进行近似读音匹配。
模糊性
度量一个单词转换到另一个单词需要多少次词单字符编辑
fuzziness 参数指定最大编辑次数,可以被设置为auto
模糊查询
GET /my_index/my_type/_search
{
"query": {
"fuzzy": {
"text": "surprize"
}
}
}
fuzzy查询时一个词项级别的查询,所以它不做任何分析。
如何提高性能?
参数prefix_length,表示不能被'模糊化'的初始字符数。
参数max_expansions,用来限制将产生的模糊选项的总数量。
模糊匹配查询
match查询支持开箱即用的模糊匹配
GET /my_index/my_type/_search
{
"query": {
"match": {
"text": {
"query": "SURPRIZE ME!",
"fuzziness": "AUTO",
"operator": "and"
}
}
}
}
multi_match查询也支持fuzziness,但只有当执行查询类型是best_fields或者most_fields
GET /my_index/my_type/_search
{
"query": {
"multi_match": {
"fields": [ "text", "title" ],
"query": "SURPRIZE ME!",
"fuzziness": "AUTO"
}
}
}
模糊性评分
假如1000个文档是Schwarzenegger ,而一个错误文档是Schwarzeneger ,根据IF/IDF,拼写错误的文档相关度更高。所有模糊性评分恒定为1。
语音匹配
略