solr 分词词库管理思路
大概有以下几种思路:
1。 自定义 SolrRequestHandler
由 SolrRequestHandler 来进行对分词器,进行A)词库加载B)动态添加词库 等操作
这样的话,还需要在内存中hold 住所有的词,或者需要引用到分词的jar
2. 在自定义分词器中实现从文件拉取
对词库文件设置FileWatcher,只要文件有变更,就重新加载一遍词库。
这个成本比较高。
3. 在自定义分词器中实现从db拉取,本地文件备份。
这样的话,需要实现定时拉取,另外,solr初次启动的时候,最好不要拉取词典(可能影响启动速度)。
另外,对拉取到的数据,可以做增量。
4. 使用本地文件为主, 同时通过pubsub来进行动态实时操作词库
优点,可以实时发布词库。
缺点, 不是很易读。
-------------------------------------------------------------------------------------------------------------
Solr 默认实现的若干TokenFilter,都有一个缺点:
即默认配置的词表都是由文件加载的。那么使用过程中,就无法支持动态添加了。
比如StopFilter 或者 SynonymFilterFactory