Sphinx索引配置文件有个wordfroms属性,wordfroms对应的是一个简单的字典文本文件,供sphinx在索引和搜索的时候替换词语使用。
作用
本质上,就是将一个词替换成另一个。这通常被用来将不同的词形变成一个单一的标准形式(即将词的各种形态如“walks”,“walked”,“walking”变为标准形式“walk”)。
例如:
walks>walk
walked>walk
walking>walk
也可以用来实现取词根的例外情况,因为词形字典中可以找到的词不会经过词干提取器的处理。 索引和搜索中的输入词都会利用词典做规则化。因此要使词形字典的更改起作用,需要重新索引并重启searchd。
影响
Sphnix的词形支持被设计成可以很好地支持很大的字典,仅对索引速度有微小的影响,搜索速度则完全不受影响。例如,一百万个条目的字典会使索引速度下降1.5倍。
额外的内存占用大体上等于字典文件的大小,而且字典是被多个索引共享的,即如果一个50MB的词形字典文件被10个不同的索引使用了,那么额外的searchd内存占用就是大约50MB。
格式
- 每行包括一个源词和一个目标词,二者用大于号分隔。
- 忽略大小写。
- 遵循charset_table选项指定的规则。
技巧
- 简繁转换
例如:
張>张
學>学
当搜索“张学友”和“張學友”和“張学友”能得到一样的结果.
- 拼音纠错
例如:
张>zhang
学>xue
友>you
当搜索“张学友”和“zhang xue you”能得到一样的结果.