我们的 CRM 用的 mongodb 存储客户、工单和知识库信息,登录后的主页有一个搜索功能。原来的实现方式是对部分集合指定的几个字段进行正则模糊匹配。现在产品要求搜索所有字段,包括可能出现的客户自定义字段(我们的客户和工单表有自定义字段功能,因为 mongodb 的字段可以不用预先定义,直接给一个 key 值存入)。
百度查到有几种方案:
- elastic search,用mongo-connector同步数据
- solr,也是用 mongo-connector 同步数据
- sphinx,这个的评价好像不如前两个
mongo 自带的全文索引因为不支持未知字段和中文分词,不考虑。
大神给点建议,用什么方案比较好,有没有什么坑。

