欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

有关Sphinx的wordforms属性设置的小技巧

程序员文章站 2022-05-10 23:40:37
...

Sphinx 索引配置文件有个wordfroms属性,wordfroms对应的是一个简单的字典文本文件,供sphinx在索引和搜索的时候替换词语使用。 作用 本质上,就是将一个词替换成另一个。这通常被用来将不同的词形变成一个单一的标准形式(即将词的各种形态如“walks”,“wal

Sphinx索引配置文件有个wordfroms属性,wordfroms对应的是一个简单的字典文本文件,供sphinx在索引和搜索的时候替换词语使用。

有关Sphinx的wordforms属性设置的小技巧

作用

本质上,就是将一个词替换成另一个。这通常被用来将不同的词形变成一个单一的标准形式(即将词的各种形态如“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”能得到一样的结果.