我试图了解Elasticsearch中的碎片和副本是什么,但我无法理解它。 如果我下载Elasticsearch并运行脚本,那么从我知道的我已经开始一个单一节点的集群。 现在这个节点(我的电脑)有5个碎片(?)和一些副本(?)。 他们是什么,我有5个重复的索引? 如果是这样的话 我可能需要一些解释。
最近我开始将ElasticSearch(ES)实现工作应用到使用MySQL编写的使用PHP编写的传统电子商务应用程序中。 我对所有这些东西都是全新的,阅读文档是好的,但我真的需要有经验的人来指导我。 从ES文档中我可以build立一个新的集群,我也发现河stream已经被废弃了,应该被replace,所以我用Logstash和JDBC MySQL连接器replace了它们。 在这一点上我有: ElasticSearch Logstash JDBC MySQL驱动程序 MySQL服务器 应用程序的数据库结构并不是最优的,很难replace,但我想以最好的方式将其复制到ES索引中。 数据库结构: 制品 +——————————-+——-+——–+ | Id | Title | Price | +——————————-+——-+——–+ | 00c8234d71c4e94f725cd432ebc04 | Alpha | 589,00 | | 018357657529fef056cf396626812 | Beta | 355,00 | | 01a2c32ceeff0fc6b7dd4fc4302ab | Gamma | 0,00 | +——————————-+——-+——–+ 旗 +————+————-+ | Id | Title | +————+————-+ | sellout | […]
我最近开始使用ElasticSearch,似乎无法使其search单词的一部分。 例如:我在ElasticSearch中索引了三个来自我的couchdb的文档: { "_id" : "1", "name" : "John Doeman", "function" : "Janitor" } { "_id" : "2", "name" : "Jane Doewoman", "function" : "Teacher" } { "_id" : "3", "name" : "Jimmy Jackal", "function" : "Student" } 所以现在我想search所有包含“Doe”的文件 curl http://localhost:9200/my_idx/my_type/_search?q=Doe 这不会返回任何命中。 但是,如果我search curl http://localhost:9200/my_idx/my_type/_search?q=Doeman 它确实会返回一个文件(John Doeman)。 我已经尝试将不同的分析器和不同的filter设置为我的索引的属性。 我也尝试使用一个完整的查询(例如: { "query": { "term": { "name": […]
我目前正在寻找其他search方法,而不是有一个巨大的SQL查询。 我最近看到了elasticsearch,并与whoosh (search引擎的Python实现)一起玩。 你能给出你select的理由吗?
假设我想使用elasticsearch在网站上实现一个通用的search。 预计顶级search栏可以查找整个网站中所有不同types的资源。 肯定的文件(通过tika上传/索引),但也包括客户,账户,其他人等。 由于架构的原因,大部分非文档内容(客户端,帐户)将存在于关系数据库中。 当执行这个search时,选项#1将会创build所有文件的版本,然后使用elasticsearch运行search的所有方面,而不是依赖关系数据库来寻找不同types的对象。 选项#2将只使用elasticsearch来索引文档,这意味着对于一般的“网站search”function,您必须将多个search用于多个系统,然后在返回结果之前汇总结果。 选项#1看起来好得多,但缺点是它要求在本质上有弹性的search在生产关系数据库中有很多东西的副本,而且随着情况的变化,这些副本要保持新鲜。 保持这些商店同步的最佳select是什么?我认为对于一般search来说,选项#1是否优越是正确的? 有没有一个选项#3?
我正在尝试使用合成作为docker容器的elastalert。 以下是我的dokcer-compose文件中的elastalert定义:elastalert: image: ivankrizsan/elastalert container_name: elastalert restart: unless-stopped privileged: true links: – es:elasticsearchhost ports: – "3030:3030" cap_add: – SYS_TIME – SYS_NICE volumes: – /etc/elastalert/config:/opt/config – /etc/elastalert/rules:/opt/rules – /etc/elastalert/logs:/opt/logs – /etc/elastalert:/opt/elastalert environment: – ELASTICSEARCH_HOST=es – ELASTICSEARCH_PORT=9200 我得到以下错误: 容器时区未修改 { “name”:“Stunner”,“cluster_name”:“elasticsearch”,“cluster_uuid”:“jqqJxdQZRP6cLJPBd0Usdg”,“version”:{“number”:“2.4.5”,“build_hash”:“c849dd13904f53e63e88efc33b2ceeda0b6a1276”“build_timestamp” :“2017-04-24T16:18:17Z”,“build_snapshot”:false,“lucene_version”:“5.5.4”}, “标语”:“你知道,搜索” } 在Elasticsearch中创建Elastalert索引 回溯(最近一次通话最后): 文件“/ usr / bin / elastalert-create-index”,第6行,来自pkg_resources import load_entry_point 在@_call_aside中的文件“/usr/lib/python2.7/site-packages/pkg_resources/init.py”,第3019行 文件“/usr/lib/python2.7/site-packages/pkg_resources/init.py”,行3003,在_call_aside f(args,* […]