搜索技术-使用coreseek做中文分词时如何将特殊符号(#+/.等)纳入索引?

搜索技术-使用coreseek做中文分词时如何将特殊符号(#+/.等)纳入索引?

浮生未歇 发布于 2016-11-27 字数 500 浏览 986 回复 1

在做中文全文检索时我们采用的是coreseek,虽然它是基于sphinx开发的,但是有些sphinx的原生设置不能使用。
比如现在就遇到一个问题,我们需要能搜索到c#、c++等带有特殊字符的词,在sphinx中只需要在配置文件中的charset_table选项里增加这些特殊字符的unicode编码即可。

但在Coreseek中,启用中文分词后,系统会使用MMSeg内置的码表(被硬编码在MMSeg的程序中),因此,charset_table在启用分词后将失效。

请问除了修改其源代码之外,有什么比较好的方式实现这个需求?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-02-17 1 楼

coreseek是在sphinx基础上针对中文搜索的二次开发,部分在英文搜索中的设置方法不能直接拿来用。
这里对于特殊字符可以做一个映射关系表,将常用的特殊字符替换为搜索引擎允许查找的字符。
例如:

C# => Csharp
C++ => Cplusplus