crayonyi

elasticsearch 生产环境用哪个版本好?能否支持 json list 的嵌套查询?

  •  
  •   crayonyi · Aug 18, 2016 · 13341 views
    This topic created in 3734 days ago, the information mentioned may be changed or developed.

    我的数据格式如下:

    [
    	{
    		'id': 1,
    		'name': '户主姓名',
    		'reason': '致贫原因',
    		'detail': '家庭情况',
    		'members': [
    			{'name': '张 XX', 'card':'身份证号 1', 'age': 20, 'gender':'男'},
    			{'name': '张 YY', 'card':'身份证号 2', 'age': 18, 'gender':'男'},
    			{'name': '张 ZZ', 'card':'身份证号 3', 'age': 5, 'gender':'女'}
    		],
    	},
    	{
    		'id': 2,
    		'name': '户主姓名',
    		'reason': '致贫原因',
    		'detail': '家庭情况',
    		'members': [
    			{'name': '张 XX', 'card':'身份证号 1', 'age': 20, 'gender':'男'},
    			{'name': '张 YY', 'card':'身份证号 2', 'age': 18, 'gender':'男'},
    			{'name': '张 ZZ', 'card':'身份证号 3', 'age': 5, 'gender':'女'}
    		],
    	},
    	{
    		'id': 3,
    		'name': '户主姓名',
    		'reason': '致贫原因',
    		'detail': '家庭情况',
    		'members': [
    			{'name': '张 XX', 'card':'身份证号 1', 'age': 20, 'gender':'男'},
    			{'name': '张 YY', 'card':'身份证号 2', 'age': 18, 'gender':'男'},
    			{'name': '张 ZZ', 'card':'身份证号 3', 'age': 5, 'gender':'女'}
    		],
    	}
    	...
    ]
    

    需要支持这样的查询:找小于 7 岁的,女孩, detail 关键词中含有心脏病的人。

    本来想用阿里云搜索的,发现不支持 json list 的字段,所以想用 elasticsearch 。

    8 replies  •  2016-08-19 05:08:31 +08:00
    ayang23
    ayang23
    Aug 18, 2016
    1
    最新稳定版本就好
    goofansu
    goofansu
    Aug 18, 2016 via iPhone
    2
    这个要在 mapping 里面设 members 为 nested ,否则查出来是错的
    knightdf
    knightdf
    Aug 18, 2016
    3
    members 为 object 类型就可以了
    66beta
    66beta
    Aug 18, 2016
    4
    es 的问题好像是扩展不兼容新版本,要看你用的扩展
    crayonyi
    crayonyi
    OP
    Aug 18, 2016
    5
    @66beta 兼容中文查询就行
    billlee
    billlee
    Aug 18, 2016
    6
    然而 elasticSearch 的列表匹配应该会返回「有一个小于 7 岁的男孩」 AND 「有一个女性」 AND 「 detail 包含『心脏病』」的家庭
    嗯, elasticSearch 的索引其实是把列表 concat 起来的。
    DravenJohnson
    DravenJohnson
    Aug 19, 2016
    8
    2.3 版本挺好用的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1917 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 04:59 · PVG 12:59 · LAX 20:59 · JFK 23:59
    ♥ Do have faith in what you're doing.