ElasticSearch Java API(ElasticSearch Java API)
我是ElasticSearch的新手。 我想转换下面的查询:
GET /snomed_v1/_analyze?analyzer=english { 12 O'clock, superior margin }
到Java api查询。
谢谢。
I am new to ElasticSearch. I want to convert below query:
GET /snomed_v1/_analyze?analyzer=english { 12 O'clock, superior margin }
to the Java api query.
Thanks.
原文:https://stackoverflow.com/questions/31169687
更新时间:2022-04-16 14:04
最满意答案
这是我可以使其通用的最接近的,因为添加了新列,您只需在map()内的CONCAT()中进行更改:
select pos1+1 AS rollnum,mat,eng from( select collect_list(a.group_map['MATHS']) as MATHS, collect_list(a.group_map['ENGLISH']) as ENGLISH, from ( select map(SUBJECT,CONCAT(ROLL1,',',ROLL2,',',ROLL3,',',ROLL4,',', ROLL5,',',ROLL6)) as group_map from db_name.tbl_name) a) b lateral view posexplode(split(b.MATHS[0],',')) MATHS AS pos1,mat lateral view posexplode(split(b.ENGLISH[0],',')) ENGLISH AS pos2,eng WHERE pos1=pos2
虽然这可能会影响效率。
This is the closest I can get to making it generic,as new columns are added,you only have to make changes in CONCAT() inside map():
select pos1+1 AS rollnum,mat,eng from( select collect_list(a.group_map['MATHS']) as MATHS, collect_list(a.group_map['ENGLISH']) as ENGLISH, from ( select map(SUBJECT,CONCAT(ROLL1,',',ROLL2,',',ROLL3,',',ROLL4,',', ROLL5,',',ROLL6)) as group_map from db_name.tbl_name) a) b lateral view posexplode(split(b.MATHS[0],',')) MATHS AS pos1,mat lateral view posexplode(split(b.ENGLISH[0],',')) ENGLISH AS pos2,eng WHERE pos1=pos2
Though this might affect efficiency somewhat.
相关问答
更多-
SQL结果的部分转置(Partial transpose of SQL results)[2024-03-03]
最简单的解决方案是: select id, n, w, 1 from your_table where ID = 'xxx' union all select id, n, e, 2 from your_table where ID = 'xxx' union all select id, s, e, 3 from your_table where ID = 'xxx' union all select id, s, w, 4 from your_table where ID = 'xxx'; 我不确定R ... -
SQL:“反向”转置表(SQL: “Reverse” transpose a table)[2022-09-30]
您可以使用UNION子句非常简单地执行此操作: Select Scan_ID, 'A' as Region, A_Volume as volume union all Select Scan_ID, 'B' as Region, B_Volume as volume union all Select Scan_ID, 'C' as Region, C_Volume as volume You could do this very simply with a UNION clause: Se ... -
SQL帮助(加入,转置?)(SQL Help (Join, transpose?))[2022-02-02]
尝试条件聚合: select m.month, sum(case when c.regionid = 1 then 1 else 0 end) as north, sum(case when c.regionid = 2 then 1 else 0 end) as south, sum(case when c.regionid = 3 then 1 else 0 end) as east, sum(case when c.regionid = 4 th ... -
SQL - 转置间隔(SQL - Transpose Interval)[2021-10-27]
我认为这不可能直接在查询中。你需要用高级语言编写一些代码或为它编写程序。 在这种情况下,您需要简单地获取特定ID的行,按日期(?)排序并获取结果的第一行和最后一行。 您现在可以使用此逻辑填充FROM_DATE和TO_DATE 。 I don't think this would be possible directly in a query.You'll need to write some code in a high level language or write a procedure for it. ... -
这是我可以使其通用的最接近的,因为添加了新列,您只需在map()内的CONCAT()中进行更改: select pos1+1 AS rollnum,mat,eng from( select collect_list(a.group_map['MATHS']) as MATHS, collect_list(a.group_map['ENGLISH']) as ENGLISH, from ( select map(SUBJECT,CONCAT(ROLL1,',',ROLL ...
-
有两件重要的事情需要考虑。 1)SQL表没有含义顺序,因此必须通过信息添加顺序来唯一定义转置表的列。 (我在表中添加了一个列ID来模拟它)。 2)如果您正在寻找固定数量的列和行的解决方案,您可以在SQL查询中编写结果,如下所示(对于动态解决方案,我不建议使用SQL) select (select a from transpose where id = 1) a, (select a from transpose where id = 2) b, (select a from trans ...
-
您需要做的就是使用pivot函数将这些行转换为列 SELECT 'Subs' AS Company ,[CompanyA] ,[CompanyB] ,[CompanyC] ,[CompanyD] ,[CompanyE] ,[Grand To ...
-
SQL - 转置(SQL - Transpose)[2023-06-19]
您的原始查询中存在一些语法错误 SELECT * FROM (SELECT [ITEM_NUMBER], [ATTR_DISPLAY_NAME], [ATTRIBUTE_VALUE] FROM tbl_ICC ) AS SourceTable PIVOT (max([ATTRIBUTE_VALUE]) FOR [ATTR_DISPLAY_NAME] IN ([color],[size] )) -- << Add More Att ... -
纯SQL解决方案( SQL Server ) select [A] , [B] , [C] from ( select Type,[Count] from ( SELECT (CASE WHEN type=1 THEN 'A' WHEN type=2 THEN 'B' ..... END) as TYPE,COUNT(*) AS COUNT from TYPE_TABLE GROUP BY T ...
-
如何使用SQL转置表?(How transpose a table using SQL?)[2022-04-07]
Postgres在数组和crosstab方面具有一些高级功能。 但是,与数据库无关的方法是使用聚合: select t.p, max(case when c = 3 then a end) as a3, max(case when c = 3 then b end) as b3, max(case when c = 4 then a end) as a4, max(case when c = 4 then b end) as b4 from atabl ...