用了Elasticsearch,一口气上5T

一个字段匹配多个值,例如规格参数,应该选取哪种查询方式?

Elasticsearch | 作者 CODER_LIU | 发布于2018年01月16日 | 阅读数:8512

比如,一个商品有多个规格key,我这边将一个商品的所有规格拼成了字符串,中间用逗号分隔,现在想要实现根据多个规格参数,来对商品进行删选,只要匹配上一个规格就行,请问各位大神,该选取哪种查询方式?
已邀请:

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

赞同来自:

terms

CODER_LIU - 90后coder

赞同来自:

问题解决了,规格字段映射指定使用whitespace analyzer,即创建索引时对字段设置"analyzer": "whitespace",字段值存储时将key用空格隔开,即“Key1 Key2 ...”,然后再利用terms查询即可

Coolish - 90后

赞同来自:

key值存储为数字可以吗   即 "24 25 21" 再利用terms查询可以吗

Xiaoming - 80s

赞同来自:

我目前相中是将该字段设置为
"type"=> "text",
'index' => 'not_analyzed'

存储以#号隔开 : php#java#golang
查询用term就可以
 

zz_hello

赞同来自:

为什么要拼接成字符串呢,直接写成数组就可以啊,然后用terms查询

weizijun - elasticsearch fan

赞同来自:

按逗号分词,然后用terms查询

Coolish - 90后

赞同来自:

就如这是某条索引的尺码字段,给以随机数字,如何筛选符合条件的数据

要回复问题请先登录注册