不为失败找理由,要为成功找方法。

关键字加入分词器后 完整的搜索关键字为啥搜不到?

Elasticsearch | 作者 向世明 | 发布于2017年09月19日 | 阅读数:4057

关键字加入分词器后 完整的搜索关键字为啥搜不到了?
比如。输入百货或者超市或者腾龙百货超市, 能搜到 腾龙百货超市,以及其他含有百货。超市的数据

然后我在分词器的库中加入一个 “腾龙百货超市”

然后输入 “腾龙百货超市” ,一条数据都搜不出来了、、

代码:QueryBuilder q2=QueryBuilders.multiMatchQuery(“shop_name”, "腾龙百货超市").type("most_fields");
 
没搞懂为啥。most_fields就是匹配最多的排在前面吧
 
已邀请:

zhangjinxia123

赞同来自: lengchanguo

扩展词库后需要用reindex重建索引,搜索时才能生效

Cheetah

赞同来自:

你用的什么分词器,是细粒度分词还是长词分词,还有你在分词器的库中加入新的词后,重新索引了吗
你说的情况太少,我能想到的就是你加入新的词后未重新索引,且采用的是非细粒度分词
这样的话你相当于在直接查询“腾龙百货超市”,但是你的索引是之前索引的,肯定未包含

向世明 - 呵呵

赞同来自:

我换个方式描述嘛

QQ截图20170919143704.png


QQ截图20170919143725.png


QQ截图20170919143743.png


QQ截图20170919143800.png

这些是那些商品的名字。可以看到分词效果能分词出 “苗姑娘”
然后下面这个商品名字。。。

QQ截图20170919143837.png


分词不出来苗姑娘。。。
所以导致的问题是,,用户输入苗姑娘三个字搜索,只能收到前面4个,搜不到后面这个。

于是我想到在扩展词库中 加入 “苗姑娘”
还是没啥作用。来求解、。、、、、、、、、、
 
 
 

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

关键词后加.keyword实现精准匹配

lengchanguo - 得一爸

赞同来自:

在新词添加之后在集群每个节点都存在之后,可以把这个包含这个词的文章都查出来,重新插入,新词才会生效

dsl

赞同来自:

楼主这个问题最后怎么解决的呢?
 

要回复问题请先登录注册