Giter Club home page Giter Club logo

elasticsearch-definitive-guide's People

Contributors

biyuhao avatar blogsit avatar calm4wei avatar chenryn avatar clintongormley avatar debadair avatar ericamick avatar fanyer avatar javasgl avatar kristenorm avatar leo650 avatar lephix avatar liuhaoxd avatar looly avatar luotitan avatar lxy4java avatar mcascallares avatar medcl avatar node avatar paikan avatar pengqiuyuan avatar peschlowp avatar polyfractal avatar richardwei2008 avatar rockybean avatar sdlyjzh avatar skalapurakkel avatar tangmisi avatar weiqiangyuan avatar yichao2015 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-definitive-guide's Issues

es5.2根据请求来源端口缓存数据?

环境 : 系统 linux
jdk 1.8
es 5.2
tomcat 6.0
maven 3.3.9
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Djava.awt.headless=true -Djava.library.path=/home/elasticsearch/jdk1.8/jre/bin -Djmagick.systemclassloader=no -server -Xmx3072m -Xms3072m -XX:NewSize=768m -XX:MaxNewSize=768m -Xss512k -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+UseCMSCompactAtFullCollection -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading";

   同样的代码 同一个tomcat,通过不同的server.xml启动两次,只修改了server.xml中的端口号 ,包括shutdown http ajp redirect 四个端口,其它tomcat配置文件均未修改。

问题: 两个端口从es中拿到的数据不一致。
开始我的tomcat用的是80端口,调试时发现页面数据缺失,检查后发现是从es中拿数据的逻辑发生错误,修改后部署,线上页面的数据仍然是老数据,没有更新。

已排除的可能性
1. ngnix
项目配置了ngnix,但是我通过直接访问服务器的ip+port/project的形式是不走ngnix的,数据仍然是老数据,排除ngnix缓存可能。
2. redis
开始我的程序是加了redis缓存的,后来为了检查这个问题,已经去掉了从es拿数据这部分缓存,重新部署,数据仍然是老数据。我将服务器中跑的项目的class文件down到本地 ,反编译后 ,内容中确实已经去掉了redis缓存。
3. tomcat
删除了work目录下所有文件,页面仍然是老数据
4. es我了解到的缓存
http://localhost:9200/twitter/_cache/clear
http://localhost:9200/twitter/_cache/clear?filter=true
http://localhost:9200/twitter/_cache/clear?filter=true&fields=cphm,cplx
以上三种 都试过,执行成功但页面仍然是老数据
5.不是项目本身的问题
从服务器上拿到tomcat运行的war包,放在本地执行均为正确的新数据
切换tomcat端口,仅修改了server.xml中端口,然后启动同一个tomcat,页面显示数据为正确的新数据。
6.重启过es服务器
旧端口仍然是旧数据

  以上,我调试阶段是在本地调试,本地都是最新的数据。那么缓存究竟出在什么地方,是es根据请求来源做了缓存,并且落地了,还是有可能什么其它问题。

  我在程序中打印了从es拿到的数据,发现不同端口启动的tomcat,日志内容也是不一样的,旧端口的日志显示从es拿到的数据就是缺失的。

  ----------------------------------------------------------------------------
  我重新配置了tomcat ,测试了旧端口,仍然拿不到数据,排除了tomcat配置原因,缓存究竟出在哪。

45_Partial_update_错误

这个例子执行报错。

POST /website/blog/1/_update
{
   "script" : "ctx.op = ctx._source.views == count ? 'delete' : 'none'",
    "params" : {
        "count": 1
    }
}

我改成这样OK了:

POST /website/blog/1/_update
{
   "script" : "ctx.op = ctx._source.views == count ? \"delete\" : \"none\"",
    "params" : {
        "count": 1
    }
}

写文档请确保示例都是可以运行的。

求解?elasticsearch 9300连接不上 java,已经花费几天时间

环境:客户服务器
Windows Server 2012 R2/6.3/amd64
elasticsearch6.1.2
jdk 1.8.0.2
后台程序无异常,@2打印正常,@3不打印
System.out.println("@2"+ip+":"+port);
			this.client = new PreBuiltTransportClient(settings).addTransportAddress(new TransportAddress(InetAddress.getByName(ip), port));
			System.out.println("@3"+client.nodeName());
以上问题弄了很久不得其解,各种测扔没找到问题求各位解答,谢了
本机上装的es同样的环境win7 一切正常。

使用curl调用api需要加Content-Type头

Elasticsearch: 权威指南 » 基础入门 » 你知道的, 为了搜索… » 和 Elasticsearch 交互

curl示例中,需要指定Content-Type。

curl -H 'Content-Type: application/json' -X GET 'http://localhost:9200/_count?pretty' -d '
{
    "query": {
        "match_all": {}
    }
}
'

翻译纠错

  • 数据建模-通过子文档查询父文档, 最后:

has_child 查询和过滤在运行机制上类似, 区别是 has_child 过滤不支持 source_mode 参数。has_child 过滤仅用于筛选内容--如内部的一个 filtered 查询--和其他过滤行为类似:包含或者排除,但没有进行评分。
has_child 过滤的结果没有被缓存,但是 has_child 过滤内部的过滤方法适用于通常的缓存规则。

source_mode应该是score_mode

  • 在数据建模-通过父文档查询子文档

虽然 nested 查询只能返回最顶层的文档 ,但是父文档和子文档本身是彼此独立并且可被单独查询的。我们使用 has_child 语句可以基于子文档来查询父文档,使用 has_parent 语句可以基于子文档来查询父文档。

”使用 has_parent 语句可以基于子文档来查询父文档“这句话应该改为“使用 has_parent 语句可以基于父文档来查询子文档”

一处错字

文件:510_Deployment/40_config.asciidoc
错误地方:
但它应该永远不被使用在生产环境了,否在你得到的结果就是一个节点意外的加入到了你的生产环境,仅仅是因为他们收到了一个错误的组播信号。其中否在应该是否则

我想自己把该项目转出PDF该怎么做?

我想转出PDF来看,虽然我知道官网里有,但是最新的毕竟是源码库。本人只用于学习,目前正在学习elasticsearch,自己也翻译版本5的文档,当然没有你们翻译的好

mget如何查看took时间

mget查询doc,在结果中没有显示took时间,而search是可以获取该时间,用于定位问题,mget是否支持

映射和分析 这一篇 开头的例子 好像已经不能用了

使用了如下例子进行模拟, 根本查询不出来

POST /gb/tweet/_bulk
{ "index": { "_id": 1 }}
{ "name" : "高性能MySQL", "user_id" : "15", "tweet" : "page's number is gt than 700" , "create_at":"2015-09-25"}
{ "index": { "_id": 2 }}
{ "name" : "Elasticsearch 权威指南", "user_id" : "5", "tweet" : "this is a very nice book" , "create_at":"2018-02-11"}
{ "index": { "_id": 3 }}
{ "name" : "Solr 实战", "user_id" : "1098", "tweet" : "my next book" , "create_at":"2017-06-06"}
{ "index": { "_id": 4 }}
{ "name" : "Kafka 内核分析", "user_id" : "79", "tweet" : "kafka need to compare with rabbitmq" , "create_at":"2016-08-06"}

如下查询貌似没有结果, 感觉 _all 已经变了, 我用的是 est6

GET /gb/tweet/_search?q=2015

网上查过了, 有人说est6需要使用 copy_to, 但依然无效

potential return value change in XHEAD operation

030_Data/20_Exists.asciidoc

in this chapter ,when check the document is exist , send
curl -i -XHEAD http://localhost:9200/website/blog/123

the elastic search returns different with the result offered in doc.
as
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 185

Notice that content-length is not zero and the request doesn't end properly , Ctrl+C is needed to exit the request.

unexpected error during fresh start by docs

010_Intro/35_Tutorial_Aggregations.asciidoc

here when excute the example:

{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}
'

elastic search returned :
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
}
],
"type" : "search_phase_execution_exception",
"reason" : "all shards failed",
"phase" : "query",
"grouped" : true,
"failed_shards" : [
{
"shard" : 0,
"index" : "megacorp",
"node" : "3uJClDOmRmKlDjKWYMsYRQ",
"reason" : {
"type" : "illegal_argument_exception",
"reason" : "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
}
}
]
},
"status" : 400
}

i think it is caused by some version change in default settings , so the doc needs improvement , add corresponding settings before this chapter :)

使用分词器搜索,highlight里面搜索结果为什么有时候是片段,而不是整个字段内容

使用分词器搜索,highlight里面搜索结果为什么有时候是片段,而不是整个字段内容:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 10.979511,
"hits": [
{
"_index": "ik-test",
"_type": "ik-test-doc",
"_id": "1501837223",
"_score": 10.979511,
"_source": {
"content": "豹纹陆龟(学名:Stigmochelys pardalis),别名豹龟,属龟鳖目、陆龟科、豹龟属爬行动物。背甲长可达68厘米,头颈黄棕色无斑,前额鳞1-2枚,顶鳞为数枚小鳞,背甲为深浅相套的杂色,腋盾2枚,胯盾1枚,与股盾相接[1] 。雄性豹龟的体形比雌性龟大。曾经属于Geochelone属。 栖息地为干燥草原及灌木丛,需要广阔的室内外活动空间。喜欢在半干燥、带荆棘的草原上生活。在炎热的季节里,它会夏眠;一般12-15年豹龟会达到性成熟。龟产蛋能力是很强的,一些母龟一季能产3窝或更多。已大量人工养殖,完全素食,但家庭饲养需定期补充钙粉及综合维生素。豹纹陆龟大多分布在非洲南部,亦广泛分布在撒哈拉以南非洲,但西非和中非的大部分地方是寻找不到它们的踪影的。"
},
"highlight": {
"content": [
"。雄性豹龟的体形比雌性龟大。曾经属于Geochelone属。 栖息地为干燥草原及灌木丛,需要广阔的室内外活动空间。喜欢在半干燥、带荆棘的草原上生活。在炎热的季节里,它会夏眠;一般12-15年豹龟会达到性成熟。龟产蛋能力是很强的,一些"
]
}
}
]
}

has_parent 使用问题

使用has_parent时,是否如下呢:

        hasParentQuery := elastic.NewHasParentQuery(parentType, **)
	searchResult, err := elasticsearch.Client.Search().
		Index(childIndex).
		Type(childType).
		Query(hasParentQuery).
		Pretty(true).
		Do(**)

查询的索引为 child index 根据 parent 查询条件,获得相应的 child 数据?

关于如何在本地开启的问题

这个项目是用gitbook做的吗?

我用gitbook serve运行,提示没有README.md文件,请问我要如何在本地搭起一本电子书?

因为网络不行,在网上看特别费劲,希望有人能够解答,谢谢!!

教程里的聚合例子在elasticsearch 6.0.1下的写法

原文链接:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_analytics.html

原例子:
GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}

在elasticsearch 6.0.1下执行会报如下错误:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
}
],
"type": "search_phase_execution_exception",
"reason": "all shards failed",
"phase": "query",
"grouped": true,
"failed_shards": [
{
"shard": 0,
"index": "megacorp",
"node": "S_-UcyJiRGmZvt1vDN-HjA",
"reason": {
"type": "illegal_argument_exception",
"reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
}
}
]
},
"status": 400
}

有两种方法可以解决,一种是设置fielddata=true,另一种是使用keyword,如下:
GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": {
"field": "interests.keyword"
}
}
}
}

官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html

Spring boot 2.0集成Elasticsearch

使用继承ElasticsearchRepository 连接 外网的elasticsearch连不上报org.elasticsearch.client.transport.NoNodeAvailableException

query_string多条件检索说明有误

20_Query_string.asciidoc中说 “+”表示要同时满足检索条件
image
那么 q=age:25+gender:female 就应该检索出 age=25 并且 gender=female的文档。实际结果是age=25或者gender=female都检索出来了

steam的原理

我想了解下:
1.日志“tail -f”功能依赖filebeat,那么filebeat是一定要直接输出日志到ES吗?如果filebeat输出到logstash,由logstash输出到ES,“tail -f”能正常使用吗?
2.日志tail -f (stream)读取的数据是从ES读取,还是由filebeat实时上传?

翻译

取回一个文档????
翻译太low了吧

文档的部分更新(illegal_argument_exception)

POST /website/blog/1/_update
{
"script" : "ctx._source.tags+=new_tag",
"params" : {
"new_tag" : "search"
}
}
会报 illegal_argument_exception。
此处中的"script" : "ctx._source.tags+=new_tag",修改为"script" : "ctx._source.tags+=params.new_tag",
get以后得到的值为null。

通过实践,发现params中的所有变量都无法拿到。都是报illegal_argument_exception。

翻译

索引文档, 把Autogenerating IDs翻译成自增id吧

非常建议加入如何查看官网文档的内容

最近在学习elasticsearch,然后看到有中文指南,在看到讲解原理的时候,建议添加一些指导性的内容,关于如何在官网中查看具体的知识点内容的,例如score计算的公式内容,可能这些东西对于一个优秀的工程师来说是必备的技能,但是感觉对于很多入门的工程师来说,似乎还是一个需要锻炼的东西,另外也没看到其他的书籍有写关于官网文档的事情比较详细的,如果这里可以加进前言约定那些,或者附录里面,这样或许更能帮助大家成长.如果这个问题有什么突兀的地方,敬请原谅

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.