es中使用SQL
环境:
ES:6.8.5
--------------------------------------------------------------SQL RESTFUL---------------------------------------------------------------------
创建索引
curl -u hxl:123456 -XPUT 'http://192.168.1.63:19200/myindex_test'
写入测试数据
curl -u hxl:123456 -H "Content-Type: application/json" -XPUT 'http://192.168.1.63:19200/myindex_test/tb_test/1' -d '{"name": "huangxueliang"}'
curl -u hxl:123456 -H "Content-Type: application/json" -XPUT 'http://192.168.1.63:19200/myindex_test/tb_test/2' -d '{"name": "china"}'
查询:
curl -u hxl:123456 -X POST "192.168.1.63:19200/_xpack/sql?format=txt&pretty" -H 'Content-Type: application/json' -d'
{
"query": "SELECT * FROM myindex_test",
"filter": {
"match": {
"name": "china"
}
},
"fetch_size": 5
}
'
------------------------------------------------------------------------------elasticsearch-sql-cli-----------------------------------------------------
[hxl@hadoop-slave1 bin]$ ./elasticsearch-sql-cli http://192.168.1.63:19200
Exception in thread "main" java.io.IOError: java.lang.UnsupportedOperationException
at org.jline.utils.Curses.tputs(Curses.java:62)
at org.jline.utils.Curses.tputs(Curses.java:45)
at org.jline.keymap.KeyMap.key(KeyMap.java:243)
at org.jline.reader.impl.LineReaderImpl.key(LineReaderImpl.java:5666)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.jline.reader.impl.LineReaderImpl.bindKeys(LineReaderImpl.java:5674)
at org.jline.reader.impl.LineReaderImpl.emacs(LineReaderImpl.java:5387)
at org.jline.reader.impl.LineReaderImpl.defaultKeyMaps(LineReaderImpl.java:5363)
at org.jline.reader.impl.LineReaderImpl.<init>(LineReaderImpl.java:266)
at org.jline.reader.LineReaderBuilder.build(LineReaderBuilder.java:115)
at org.elasticsearch.xpack.sql.cli.JLineTerminal.<init>(JLineTerminal.java:47)
at org.elasticsearch.xpack.sql.cli.Cli.main(Cli.java:57)
Caused by: java.lang.UnsupportedOperationException
at org.jline.utils.Curses.doTputs(Curses.java:78)
at org.jline.utils.Curses.tputs(Curses.java:60)
... 19 more
解决办法:
export TERM=xterm
echo $TERM
[hxl@hadoop-slave1 bin]$ ./elasticsearch-sql-cli http://hxl:123456@192.168.1.63:19200
asticElasticE
ElasticE sticEla
sticEl ticEl Elast
lasti Elasti tic
cEl ast icE
icE as cEl
icE as cEl
icEla las El
sticElasticElast icElas
las last ticElast
El asti asti stic
El asticEla Elas icE
El Elas cElasticE ticEl cE
Ela ticEl ticElasti cE
las astic last icE
sticElas asti stic
icEl sticElasticElast
icE sticE ticEla
icE sti cEla
icEl sti Ela
cEl sti cEl
Ela astic ticE
asti ElasticElasti
ticElasti lasticElas
ElasticElast
SQL
6.8.5
sql> select * from myindex_test;
name
---------------
china
huangxueliang
浙公网安备 33010602011771号