1.在config/目录下创建文件
analysis/synonym.txt
内容如下
搜房,房天下成交均价,成交单价,房价,售价保障房,经济适用房,配套商品房,动迁房,廉租房出租,租赁买卖,销售克而瑞,CRAC耐克=>鞋子
2.创建索引时分析器配置过滤
{"settings": {"index": {"max_result_window": 1000000},"analysis": {"analyzer": {"ik_max_word": {"tokenizer": "ik_max_word","filter": ["lowercase","asciifolding","my_synonym_filter"]}},"filter": {"my_synonym_filter": {"type": "synonym","synonyms_path": "analysis/synonym.txt"}}}},"mappings": {"properties": {"goodsName": {"type": "text","analyzer": "ik_max_word"}}}}
因为“克而瑞”和“CRAC”是近义词,所以在搜索结果中既有“克而瑞”,也有“CRAC”
3.同义词配置详解
一行一个同义词,其中 AA,BB=>CC 这种写法会将AA与BB都映射到CC,然后只对CC进行索引;而 AA,BB 这种当文档中存在AA时,不仅仅会索引AA还会索引BB;这里需要注意的是如果文件中一个词存在于多行,那么对应的近义词会累计,如:
小米,小米手机小米,小米电脑
此时“小米”对应的近义词是“小米手机”,“小米电脑”,但如果是输入“小米手机”,那么近义词只有“小米”.
