【02】把 Elasticsearch 当数据库使:过滤和排序

使用 https://github.com/taowen/es-monitor 可以用 SQL 进行 elasticsearch 的查询。本章介绍简单的文档过滤条件

exchange='nyse'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where exchange='nyse' limit 1
EOF
{"sector": "n/a", "_type": "symbol", "market_cap": 4469064, "name": "3D Systems Corporation", "exchange": "nyse", "symbol": "DDD", "last_sale": 807, "_index": "symbol", "ipo_year": null, "_id": "AVLqbUjEQ3iIyyVFLQgV", "industry": "Technology"}

Elasticsearch

{"query": {"term": {"exchange": "nyse"}}, "size": 1
}
{"hits": {"hits": [{"_score": 1.728313, "_type": "symbol", "_id": "AVLqbUjEQ3iIyyVFLQgV", "_source": {"sector": "n/a", "market_cap": 4469064, "name": "3D Systems Corporation", "exchange": "nyse", "symbol": "DDD", "last_sale": 807, "ipo_year": null, "industry": "Technology"}, "_index": "symbol"}], "total": 3240, "max_score": 1.728313}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 6, "timed_out": false
}

Profile

[{"query": [{"query_type": "TermQuery","lucene": "exchange:nyse","time": "2.336230000ms","breakdown": {"score": 470159,"create_weight": 417360,"next_doc": 786055,"match": 0,"build_scorer": 662656,"advance": 0}}],"rewrite_time": 3566,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "1.561495000ms"}]}
]

exchange='nyse' AND sector='Technology'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where exchange='nyse' and sector='Technology' limit 1
EOF
{"sector": "Technology", "_type": "symbol", "market_cap": 4469064, "name": "3D Systems Corporation", "exchange": "nyse", "symbol": "DDD", "last_sale": 807, "_index": "symbol", "ipo_year": null, "_id": "AVLqdtWhQ3iIyyVFLSJQ", "industry": "Computer Software: Prepackaged Software"}

Elasticsearch

{"query": {"bool": {"filter": [{"term": {"exchange": "nyse"}}, {"term": {"sector": "Technology"}}]}}, "size": 1
}
{"hits": {"hits": [{"_score": 0.0, "_type": "symbol", "_id": "AVLqdtWhQ3iIyyVFLSJQ", "_source": {"sector": "Technology", "market_cap": 4469064, "name": "3D Systems Corporation", "exchange": "nyse", "symbol": "DDD", "last_sale": 807, "ipo_year": null, "industry": "Computer Software: Prepackaged Software"}, "_index": "symbol"}], "total": 186, "max_score": 0.0}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 5, "timed_out": false
}

Profile

[{"query": [{"query_type": "BooleanQuery","lucene": "#exchange:nyse #sector:Technology","time": "3.999703000ms","breakdown": {"score": 54437,"create_weight": 413531,"next_doc": 1213355,"match": 0,"build_scorer": 736504,"advance": 0},"children": [{"query_type": "TermQuery","lucene": "exchange:nyse","time": "1.175638000ms","breakdown": {"score": 0,"create_weight": 186745,"next_doc": 0,"match": 0,"build_scorer": 616840,"advance": 372053}},{"query_type": "TermQuery","lucene": "sector:Technology","time": "0.4062380000ms","breakdown": {"score": 0,"create_weight": 125321,"next_doc": 115632,"match": 0,"build_scorer": 45136,"advance": 120149}}]}],"rewrite_time": 23008,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "0.1031780000ms"}]}
]

last_sale > 985

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where last_sale > 985 limit 1
EOF
{"sector": "Finance", "_type": "symbol", "market_cap": 42010000, "name": "1347 Capital Corp.", "exchange": "nasdaq", "symbol": "TFSCU", "last_sale": 1005, "_index": "symbol", "ipo_year": 2014, "_id": "AVLqdtWdQ3iIyyVFLRZB", "industry": "Business Services"}

Elasticsearch

{"query": {"range": {"last_sale": {"gt": 985.0}}}, "size": 1
}
{"hits": {"hits": [{"_score": 1.0, "_type": "symbol", "_id": "AVLqdtWdQ3iIyyVFLRZB", "_source": {"sector": "Finance", "market_cap": 42010000, "name": "1347 Capital Corp.", "exchange": "nasdaq", "symbol": "TFSCU", "last_sale": 1005, "ipo_year": 2014, "industry": "Business Services"}, "_index": "symbol"}], "total": 4285, "max_score": 1.0}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 2, "timed_out": false
}

Profile

[{"query": [{"query_type": "MultiTermQueryConstantScoreWrapper","lucene": "last_sale:{985 TO *]","time": "4.684710000ms","breakdown": {"score": 423966,"create_weight": 21384,"next_doc": 469032,"match": 0,"build_scorer": 3770328,"advance": 0}}],"rewrite_time": 10493,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "1.261998000ms"}]}
]

last_sale != 985

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where last_sale != 985 limit 1
EOF
{"sector": "Finance", "_type": "symbol", "market_cap": null, "name": "1347 Capital Corp.", "exchange": "nasdaq", "symbol": "TFSCR", "last_sale": 16, "_index": "symbol", "ipo_year": 2014, "_id": "AVLqdtWdQ3iIyyVFLRZA", "industry": "Business Services"}

Elasticsearch

{"query": {"bool": {"must_not": {"term": {"last_sale": 985}}}}, "size": 1
}
{"hits": {"hits": [{"_score": 1.0, "_type": "symbol", "_id": "AVLqdtWdQ3iIyyVFLRZA", "_source": {"sector": "Finance", "market_cap": null, "name": "1347 Capital Corp.", "exchange": "nasdaq", "symbol": "TFSCR", "last_sale": 16, "ipo_year": 2014, "industry": "Business Services"}, "_index": "symbol"}], "total": 6708, "max_score": 1.0}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 1, "timed_out": false
}

Profile

[{"query": [{"query_type": "BooleanQuery","lucene": "+*:* -last_sale: Y","time": "14.10871500ms","breakdown": {"score": 3397824,"create_weight": 401619,"next_doc": 7993655,"match": 0,"build_scorer": 141022,"advance": 0},"children": [{"query_type": "MatchAllDocsQuery","lucene": "*:*","time": "1.694079000ms","breakdown": {"score": 974401,"create_weight": 5175,"next_doc": 705676,"match": 0,"build_scorer": 8827,"advance": 0}},{"query_type": "TermQuery","lucene": "last_sale: Y","time": "0.4805160000ms","breakdown": {"score": 0,"create_weight": 342905,"next_doc": 0,"match": 0,"build_scorer": 104919,"advance": 32692}}]}],"rewrite_time": 32619,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "4.604778000ms"}]}
]

exchange='nyse' AND NOT sector='Technology'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where exchange='nyse' AND NOT sector='Technology' limit 1
EOF
{"sector": "Health Care", "_type": "symbol", "market_cap": 3865437245, "name": "3M Company", "exchange": "nyse", "symbol": "MMM", "last_sale": 15244, "_index": "symbol", "ipo_year": null, "_id": "AVLqdtWhQ3iIyyVFLSJR", "industry": "Medical/Dental Instruments"}

Elasticsearch

{"query": {"bool": {"filter": [{"term": {"exchange": "nyse"}}], "must_not": [{"term": {"sector": "Technology"}}]}}, "size": 1
}
{"hits": {"hits": [{"_score": 0.0, "_type": "symbol", "_id": "AVLqdtWhQ3iIyyVFLSJR", "_source": {"sector": "Health Care", "market_cap": 3865437245, "name": "3M Company", "exchange": "nyse", "symbol": "MMM", "last_sale": 15244, "ipo_year": null, "industry": "Medical/Dental Instruments"}, "_index": "symbol"}], "total": 3054, "max_score": 0.0}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 5, "timed_out": false
}

Profile

[{"query": [{"query_type": "BooleanQuery","lucene": "#exchange:nyse -sector:Technology","time": "3.078346000ms","breakdown": {"score": 164364,"create_weight": 216094,"next_doc": 1872817,"match": 0,"build_scorer": 114716,"advance": 0},"children": [{"query_type": "TermQuery","lucene": "exchange:nyse","time": "0.4679310000ms","breakdown": {"score": 0,"create_weight": 119897,"next_doc": 290703,"match": 0,"build_scorer": 57331,"advance": 0}},{"query_type": "TermQuery","lucene": "sector:Technology","time": "0.2424240000ms","breakdown": {"score": 0,"create_weight": 62239,"next_doc": 0,"match": 0,"build_scorer": 32978,"advance": 147207}}]}],"rewrite_time": 19262,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "0.5360760000ms"}]}
]

exchange='nyse' OR NOT sector='Technology'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol where exchange='nyse' OR NOT sector='Technology' limit 1
EOF
{"sector": "Health Care", "_type": "symbol", "market_cap": 3865437245, "name": "3M Company", "exchange": "nyse", "symbol": "MMM", "last_sale": 15244, "_index": "symbol", "ipo_year": null, "_id": "AVLqdtWhQ3iIyyVFLSJR", "industry": "Medical/Dental Instruments"}

Elasticsearch

{"query": {"bool": {"should": [{"term": {"exchange": "nyse"}}, {"bool": {"must_not": [{"term": {"sector": "Technology"}}]}}]}}, "size": 1
}
{"hits": {"hits": [{"_score": 0.99838185, "_type": "symbol", "_id": "AVLqdtWhQ3iIyyVFLSJR", "_source": {"sector": "Health Care", "market_cap": 3865437245, "name": "3M Company", "exchange": "nyse", "symbol": "MMM", "last_sale": 15244, "ipo_year": null, "industry": "Medical/Dental Instruments"}, "_index": "symbol"}], "total": 6245, "max_score": 0.99838185}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 9, "timed_out": false
}

Profile

[{"query": [{"query_type": "BooleanQuery","lucene": "exchange:nyse (-sector:Technology +*:*)","time": "21.24846700ms","breakdown": {"score": 4197895,"create_weight": 815882,"next_doc": 5963510,"match": 0,"build_scorer": 3902610,"advance": 0},"children": [{"query_type": "TermQuery","lucene": "exchange:nyse","time": "1.099460000ms","breakdown": {"score": 219612,"create_weight": 529960,"next_doc": 266196,"match": 0,"build_scorer": 83692,"advance": 0}},{"query_type": "BooleanQuery","lucene": "-sector:Technology +*:*","time": "5.269110000ms","breakdown": {"score": 1221522,"create_weight": 209290,"next_doc": 1693148,"match": 0,"build_scorer": 521166,"advance": 0},"children": [{"query_type": "TermQuery","lucene": "sector:Technology","time": "0.6576720000ms","breakdown": {"score": 0,"create_weight": 141704,"next_doc": 0,"match": 0,"build_scorer": 274371,"advance": 241597}},{"query_type": "MatchAllDocsQuery","lucene": "*:*","time": "0.9663120000ms","breakdown": {"score": 441766,"create_weight": 5317,"next_doc": 508525,"match": 0,"build_scorer": 10704,"advance": 0}}]}]}],"rewrite_time": 61389,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "4.847758000ms"}]}
]

date > now() - INTERVAL '60 DAYS'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from quote where "date" > now() - interval '30 DAYS' limit 1
EOF

这个 now() 和 interval 的语法是和postgresql一致的(http://www.postgresql.org/docs/9.1/static/functions-datetime.html)

{"volume": 118900, "_type": "quote", "_index": "quote", "symbol": "AMRS", "adj_close": 147, "high": 149, "low": 138, "date": "2016-02-16", "close": 147, "_id": "AMRS-2016-02-16", "open": 140}

Elasticsearch

{"query": {"range": {"date": {"gt": 1453212988000}}}, "size": 1
}

查询是和普通的大于一样的。

symbol LIKE 'AAP%'

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol WHERE symbol LIKE 'AAP%'
EOF
{"sector": "Technology", "_type": "symbol", "market_cap": 522690000000, "name": "Apple Inc.", "exchange": "nasdaq", "symbol": "AAPL", "last_sale": 9427, "_index": "symbol", "ipo_year": 1980, "_id": "AVL0FqFJog4u0JP7lzka", "industry": "Computer Manufacturing"}
{"sector": "Finance", "_type": "symbol", "market_cap": 105960000, "name": "Atlantic Alliance Partnership Corp.", "exchange": "nasdaq", "symbol": "AAPC", "last_sale": 1019, "_index": "symbol", "ipo_year": 2015, "_id": "AVL0FqFJog4u0JP7lzlf", "industry": "Business Services"}
{"sector": "Consumer Services", "_type": "symbol", "market_cap": 148395246, "name": "Advance Auto Parts Inc", "exchange": "nyse", "symbol": "AAP", "last_sale": 13857, "_index": "symbol", "ipo_year": null, "_id": "AVL0FqFQog4u0JP7l0R7", "industry": "Other Specialty Stores"}

Elasticsearch

{"query": {"wildcard": {"symbol": "AAP*"}}
}
{"hits": {"hits": [{"_score": 1.0, "_type": "symbol", "_id": "AVL0FqFJog4u0JP7lzka", "_source": {"sector": "Technology", "market_cap": 522690000000, "name": "Apple Inc.", "exchange": "nasdaq", "symbol": "AAPL", "last_sale": 9427, "ipo_year": 1980, "industry": "Computer Manufacturing"}, "_index": "symbol"}, {"_score": 1.0, "_type": "symbol", "_id": "AVL0FqFJog4u0JP7lzlf", "_source": {"sector": "Finance", "market_cap": 105960000, "name": "Atlantic Alliance Partnership Corp.", "exchange": "nasdaq", "symbol": "AAPC", "last_sale": 1019, "ipo_year": 2015, "industry": "Business Services"}, "_index": "symbol"}, {"_score": 1.0, "_type": "symbol", "_id": "AVL0FqFQog4u0JP7l0R7", "_source": {"sector": "Consumer Services", "market_cap": 148395246, "name": "Advance Auto Parts Inc", "exchange": "nyse", "symbol": "AAP", "last_sale": 13857, "ipo_year": null, "industry": "Other Specialty Stores"}, "_index": "symbol"}], "total": 3, "max_score": 1.0}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 29, "timed_out": false
}

Profile

[{"query": [{"query_type": "MultiTermQueryConstantScoreWrapper","lucene": "symbol:AAP*","time": "5.018644000ms","breakdown": {"score": 3186,"create_weight": 34308,"next_doc": 31760,"match": 0,"build_scorer": 4949390,"advance": 0}},{"query_type": "BooleanQuery","lucene": "symbol:AAP symbol:AAPC symbol:AAPL","time": "4.731495000ms","breakdown": {"score": 0,"create_weight": 205709,"next_doc": 26459,"match": 0,"build_scorer": 4299185,"advance": 0},"children": [{"query_type": "TermQuery","lucene": "symbol:AAP","time": "0.09350600000ms","breakdown": {"score": 0,"create_weight": 15337,"next_doc": 4021,"match": 0,"build_scorer": 74148,"advance": 0}},{"query_type": "TermQuery","lucene": "symbol:AAPC","time": "0.07045600000ms","breakdown": {"score": 0,"create_weight": 6874,"next_doc": 1225,"match": 0,"build_scorer": 62357,"advance": 0}},{"query_type": "TermQuery","lucene": "symbol:AAPL","time": "0.03618000000ms","breakdown": {"score": 0,"create_weight": 4934,"next_doc": 1253,"match": 0,"build_scorer": 29993,"advance": 0}}]}],"rewrite_time": 25703,"collector": [{"name": "SimpleTopScoreDocCollector","reason": "search_top_hits","time": "0.04072600000ms"}]}
]}
]

从profile结果可以看出,所谓的LIKE查询,其实不是一个个去查文档。而是先从字典表里把这个字段的所有的符合LIKE条件的term查出来,然后去查满足这些term的文档。把LIKE变成一堆=条件的OR来处理的。

ORDER BY name

SQL

$ cat << EOF | ./es_query.py http://127.0.0.1:9200
select * from symbol order by name limit 1
EOF
{"sector": "n/a", "_type": "symbol", "market_cap": 72460000, "name": "iShares 0-5 Year Investment Grade Corporate Bond ETF", "exchange": "nasdaq", "symbol": "SLQD", "last_sale": 4997, "_index": "symbol", "ipo_year": null, "_id": "AVLqdtWfQ3iIyyVFLRwf", "industry": "n/a"}

Elasticsearch

{"sort": [{"name": "asc"}], "size": 1
}
{"hits": {"hits": [{"sort": ["0"], "_type": "symbol", "_source": {"sector": "n/a", "market_cap": 72460000, "name": "iShares 0-5 Year Investment Grade Corporate Bond ETF", "exchange": "nasdaq", "symbol": "SLQD", "last_sale": 4997, "ipo_year": null, "industry": "n/a"}, "_score": null, "_index": "symbol", "_id": "AVLqdtWfQ3iIyyVFLRwf"}], "total": 6714, "max_score": null}, "_shards": {"successful": 1, "failed": 0, "total": 1}, "took": 4, "timed_out": false
}

Profile

[{"query": [{"query_type": "MatchAllDocsQuery","lucene": "*:*","time": "1.379354000ms","breakdown": {"score": 0,"create_weight": 32506,"next_doc": 850386,"match": 0,"build_scorer": 496462,"advance": 0}}],"rewrite_time": 18167,"collector": [{"name": "SimpleFieldCollector","reason": "search_top_hits","time": "1.225077000ms"}]}
]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python dialect='excel'是什么意思_python读取和生成excel文件

今天来看一下如何使用python处理excel文件&#xff0c;处理excel文件是在工作中经常用到的&#xff0c;python为我们考虑到了这一点&#xff0c;python中本身就自带csv模块... 今天来看一下如何使用python处理excel文件&#xff0c;处理excel文件是在工作中经常用到的&#xff…

玩转博客园的5个小技巧

转载自:http://www.cnblogs.com/lloydsheng/archive/2010/05/17/1737267.html 写博客也有几年了&#xff0c;现在能找到的第一篇博文发布时间是2007年11月11日&#xff0c;那还是在百度空间里面的&#xff0c;其实更早的是在csai&#xff0c;不过帐号&#xff0c;密码&#xff…

linux kvm安装win7,ubuntu14.04 使用kvm安装win7系统

办公电脑从win7换成ubuntu已经有几个月了..环境:ubuntu 14.04kvm 2.0.0需要的各种软件也都安装的差不多了.. 迅雷 qq office vmware 等 这些我常用的软件也都安装上了..我的电脑配置也算可以了(thinkpad E 系列 i5 8G内存 )但是vmware这个东西在ubuntu上的表现不是那么让人满意…

hibernate继承映射之每个具体类一张表

数据模型 表person 表student 表worker 对象模型 Person private String id;private String name;private int age;private String sex; Student extends Person private String school; Worker extends Person private String factory; xml配置&#xff1a; <?xml version…

No resource found that matches the given name 'android:Widget.Material.A解决方案

1&#xff1a;首先新建空白工作区 2&#xff1a;先import appcompat_v7 appcompat_v7在一个类似这样的地方&#xff0c; C:\mywork\android\android-sdk-windows\extras\android\support\v7\appcompat 然后用import进来&#xff0c;像如下操作&#xff1a; 确保sdk是5.0及以上 …

python easygui进度条_Python _easygui详细版

1. msgbox msgbox(msg(Your message goes here), title , ok_buttonOK, imageNone, rootNone) msgbox() 显示一个消息和提供一个"OK"按钮&#xff0c;你可以指定任意的消息和标题&#xff0c;你甚至可以重写"OK"按钮的内容。 import easygui as g g.msgbox…

swappiness

2019独角兽企业重金招聘Python工程师标准>>> swappiness参数位于&#xff1a;/etc/sysctl.cof swappiness0表示最大限度使用物理内存&#xff0c;然后才是swap空间。swappiness100的时候表示积极的使用swap分区&#xff0c;并把内存上的数据及时地搬运到swap空间…

宏基笔记本4740 Linux,宏基4740g拆机【教程详解】

笔记本电脑 使用久了内部会累积有灰尘&#xff0c;这些灰尘可能会影响到正常的使用;还有些人觉得笔记本电脑内存不够&#xff0c;想要加装个内存条;亦或想要帮助笔记本电脑换cpu等&#xff0c;这些都是需要将笔记本电脑拆卸下来&#xff0c;然后才能够完成好相关的工作。宏基47…

如何正确创建DLL和使用DLL

如何正确创建DLL和使用DLL 本文将通过一个简单的实例来说明&#xff0c;如何正确的导出DLL中的类、对象、函数&#xff0c;并如何通过静态加载或动态加载的方式来使用DLL。 一、DLL中导出类、函数、对象 1. 创建一个空的Win32 Dynamic-Link Library项目Test 2. 在项目中添加一个…

mysql-5.7.11-winx64.zip 安装配置

1、下载 http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-winx64.zip 2.解压缩zip包&#xff1b; D:\Program Files\mysql-5.7.11-winx64 3.配置环境变量&#xff0c; 3.1 添加path路径&#xff0c; D:\Program Files\mysql-5.7.11-winx64\bin 3.2.修改mysql-default.…

【分享】LazyLoad延迟加载(按需加载)

1&#xff1a;实际需求 大型网站往往很矛盾&#xff0c;想用户在首页看到更多东西&#xff0c;又不想浪费太多服务器流量。比如一个有3屏的首页。可能50%的用户进首页的目的是点击首页的连接&#xff0c;到子页面。 那么我们的网站却为100%的用户加载了 3个 屏幕的所有内容。如…

python中ipo模型有_python ipo模型是指什么?_后端开发

c语言中如何用do...while语句求1到100的累加和_后端开发 c语言中用do...while语句求1到100的累加和的方法是&#xff1a;1、首先定义变量i与sum&#xff0c;如【int sum0,i1】&#xff1b;2、然后用do...while语句实现即可&#xff0c;如【do{sumsumi;i;}while(i<100)】。py…

英语26个字母使用频度

LetterLetter namePronunciation NLetterFrequency LetterFrequencyAa/ˈeɪ/, //[nb 2] 1A8.17% E12.70%Bbee/ˈbiː/ 2B1.49% T9.06%Ccee/ˈsiː/ 3C2.78% A8.17%Ddee/ˈdiː/ 4D4.25% O7.51%Ee/ˈiː/ 5E12.70% I6.97%Fef (eff as a verb)/ˈɛf/ 6F2.23% N6.75%Ggee/ˈdʒi…

java签到_实战:如果让你用SpringBoot实现签到奖励的功能,你会怎么做?

阅读本文大概需要 6 分钟。来自&#xff1a;网络前言最近在做社交业务&#xff0c;用户进入APP后有签到功能&#xff0c;签到成功后获取相应的奖励&#xff1a;项目状况&#xff1a;前期尝试业务阶段&#xff1b;特点&#xff1a;快速实现&#xff08;不需要做太重&#xff0c;…

软件开发工具介绍之 1.代码生成器

在程序开发过程当中&#xff0c;程序员会经常做着重复性的工作&#xff0c;最常见的是访问数据库&#xff0c;程序员要经常编写增、删、改、分页之类的操作。为了避免这个问题&#xff0c;节省大量机械录入的时间和重复劳动&#xff0c;提高工作效率&#xff0c;而将精力集中于…

python自带的shell、其性能优于ipython吗_Python自带的shell,其性能优于IPython

信源X的&#xff0c;自带每一机事件的都相等个随概率&#xff0c;即P。 优于 自带优于 自带求(机械的保养要。 优于标有机械的主管理要指。 下尺性期人手节分的病离急法整复后&#xff0c;自带项处做哪理&#xff1a;还应。 并放下肢射至&#xff0c;优于现右肢放扭伤右下臀及后…

虚拟机测试必备虚拟机之VirtualBox 使用

2019独角兽企业重金招聘Python工程师标准>>> 安装&#xff0c;windowns在官网上对应版本下载下一步安装结束即可&#xff0c;配置有seting可以选择中文&#xff0c;方便理解&#xff0c;其实英文也好功能 不多。 安装linux&#xff1a;ubuntu&#xff0c;如果有网su…

基于.NET Framework 4.0的解决方案部署

VS 2010发布之后&#xff0c;随着而来的框架版本也升级到了.NET Framework 4.0。我相信很多朋友已经在用了吧。这一篇文章总结了如何基于.NET Framework 4.0&#xff0c;进行解决方案部署。 之所以要单独写一下&#xff0c;是因为确实这个版本与之前的.NET Framework 2.0&#…

如何在Windows Azure VM上的SQL Server和Windows Azure SQL Database两者中做出选择

作者信息&#xff1a;本篇文章是由SQL Server Cloud Infrastructure Team的 Madhan Arumugam 和 Guy Bowerman共同著作。 简介 把SQL 数据托管在哪里&#xff0c;Windows Azure 为您提供了两个选择&#xff0c;VM上的SQL Server&#xff08;以下简称 SQL/VM&#xff09;和 Wind…

graphviz 画决策树_数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris

数据挖掘入门系列教程&#xff08;四&#xff09;之基于scikit-lean决策树处理Iris加载数据集数据特征训练随机森林调参工程师结尾数据挖掘入门系列教程&#xff08;四&#xff09;之基于scikit-lean决策树处理Iris在上一篇博客&#xff0c;我们介绍了决策树的一些知识。如果对…