我在部署在耳朵中时会遇到以下错误.在弹性搜索连接期间,例外是出现的.在我的耳朵中,我使用了Guava版本18.这是ES 2.0+的推荐版本(我使用ES 2.3.3) weblogic.application.ModuleException: java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor; at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.
以下是关于 elasticsearch 的编程技术问答
真的很感谢有关如何使用以下堆栈正确部署弹性豆茎的一些资源的建议: mongodb rails(puma) sidekiq/redis Elasticsearch 我需要在eBextension文件中获得所有这些设置吗?还是在AWS中手动进行设置的问题,然后在某个地方正确将它们进行正确的路由? 解决方案 您绝对不想在弹性豆stall服务器上运行所有这些操作. Elastic Beanstalk将根据您的流量/服务器加载自动添加或删除服务器.删除时,您不希望数据库在其中一个服务器上. Elastic Beanstalk是一种非常适合运行Web服务器的服务. AWS上还有其他服务,例如Elasticache(Redis/Memcaching作为服务)和Elasticsearch作为服务.还有第三方提供的服务在redislabs(Redis作为服务)和蒙古(MongoDB)等AWS上运行. 您可以决定使用这些服务中的任何一项来减少您必须自己做的系统管理工作量
运行命令时: storm jar target/crawlIndexer-1.0-SNAPSHOT.jar org.apache.storm.flux.Flux --local es-injector.flux --sleep 86400000 我有一个错误说: 8710 [Thread-26-status-executor[4 4]] ERROR c.d.s.e.p.StatusUpdaterBolt - Can't connect to ElasticSearch 运行 http://localhost:9200/在浏览器中成功加载. Kibana也连接到ES.因此,它必须只是从Stromcrawler到Elasticsearch的连接. 有什么问题? 完全错误的片段: 8710 [Thread-26-status-executor[4 4]] ERROR c.d.s.e.p.StatusUpdaterBolt - Can't connect
在使用Nutch和Elasticsearch来爬行目的时面对一些严重的问题. 我们的应用中有两个数据存储引擎. mysql elasticsearch 可以说,我在MySQL DB的URL表中存储了10个URL.现在,我想在运行时间从表格中获取这些URL,然后将它们写入种子,TXT进行爬行.我已经将所有这些URL写成需要,一口气.现在,我的爬行开始,然后我以索引中的索引中索引了这些文档(例如URL索引).但是我想维护Elasticsearch索引中的参考文献,以便我可以获取特定URL的爬行细节以获得分析目的,因为Elasticsearch索引仅包含爬行的数据.对于ex. MySQL中的表结构是: 表URL: id url 1 www.google.com elasticsearch索引映射我想要: 索引URL: { _id:" www.google.com", 类型:" doc", 内容:" Hello World" ur
所以我正在关注Storm-Crawler-Elasticsearch教程并与之一起玩. 当Kibana用于搜索时,我注意到索引名称为"状态"的命中次数远大于"索引". 示例: 在左上方,您可以看到 846命中 ``状态''索引我认为这意味着它已经爬过846页. 现在使用'索引'索引,这表明只有31次命中. 我知道功能性索引和状态不同,因为状态仅负责链接元数据.问题在于,Stormcrawler似乎正在通过许多页面进行解析,而不是索引它们. 所以我想拥有的内容在"索引"上也与显示的内容相同.而不是只有31. 解决方案 "状态"索引包含有关爬网或发现的所有URL的信息.这大致相当于nutch中的crawldb."索引"索引包含已被获取,解析和索引的页面. . 现在,如果您查看状态索引中的"状态"字段,您会发现有不同的值指示是否已经发现了URL,提取等...参见 Wiki关于状态流. 标记为发现的人尚未被获取,因此不能在"索引"索引中.如果您
我正在开发Java Web应用程序(ERP系统).我已经完成了基本流程.现在根据我的客户要求,我们需要实现一些搜索选项. (即员工,用户,发票,库存等) 我计划为此实施搜索引擎.我觉得弹性搜索是我搜索的好选择(如果有其他好的选择,请建议我). 请建议我一些很好的文档,以了解如何将弹性搜索与Java( Spring+Hibernate )Web应用程序集成. (如果我问任何重复的问题,请把我指向正确的位置.) 解决方案 我认为还没有任何教程.我几天前开始写作.完成后,它将发布在elasticsearch.org网站上. 也就是说,我构建了一个Web应用程序, scrutmydocs ,想到它可以是一个示例,即如何集成eLasticsearch在Web应用程序中". 源代码可在 github 上找到,因此您可以从这里找到一些想法. 另外,请注意,该项目也使用Spring,我的 spring for for Elasticsearch project .它也可
我正在尝试改善针对Elasticsearch测试的套件的性能. 测试需要很长时间,因为Elasticsearch在更新后不会立即更新其索引.例如,以下代码在不提出断言错误的情况下运行. from elasticsearch import Elasticsearch elasticsearch = Elasticsearch('es.test') # Asumming that this is a clean and empty elasticsearch instance elasticsearch.update( index='blog', doc_type=,'blog' id=1, body={ .... } ) results = elasticsearch.search() assert not results # results are not populated 当前对此问题的解决方案当前将
我在我的节点服务器中提出了一个请求.这是完美的,除了我总是得到承诺而不是结果. 当我安装记录结果时,它们看起来很完美,但是当我返回它们时,我什么也没得到或承诺. 有人可以告诉我正确检索的正确方法,并处理Elasticsearch的数据? 我正在使用节点服务器和官方Elasticsearch软件包. function getNewTest(client) { client.search({ index: 'myIndex', }).then(function(resp) { return resp.hits.hits; }, function(err) { console.trace(err.message); }); } let tests = getNewTest(client);
我正在尝试访问命中_Source词典以加载到DB中. 命中返回null,我在做什么错? 注意: 使用JSON数据返回SearchResponse,并确认了DebugInformation. 但是,命中和_source类以及基础数据变量无法访问,可变命中返回null. 调试模式下本地变量的以下代码显示数据. 如果需要 预先感谢. 尝试使用searchResponse.documents和foreach语句访问_source键值对,以访问命中内部的元素.但是无法访问_source键值对. /*Declared classes in visual studio console application for c#: .NET framework 4.5*/ class Program { public class Doc { public int took { get; set; } public bool t
我已经从包含地理位置的数据集创建了一个Elasticsearch索引.我已经为数据设置了映射.然后,我尝试使用此数据集创建基巴纳可视化.基巴纳(Kibana)检测到了地球属性,但即使有很多东西也没有结果.然后,我对另一个具有不同布局的数据集进行了测试,而Kibana正确可视化的Geodata. 这是有效的示例: "位置":{ " LAT":56.290525, " lon":-30.163298 }, 这是其映射: "location": { "type": "geo_point", "lat_lon": true, "geohash": true } 这是不起作用的: "groupOfLocations": { "@type": "Point",
给定以下 vega json在 kibana 中,我如何使其动态,以便当用户在 search 中搜索某些东西时盒子也适用于 Query 和下面的 pos filter 标签.因此,假设在搜索框中的" face*"中的用户类型框,然后我希望以 以动态更改/p> { "$schema": "https://vega.github.io/schema/vega/v4.3.0.json", "autosize": "fit", "title": "POS COUNT", "data": [ { "name": "data_table", "url": { "index": "sa_test_index_data", "body": { "size": 0, "query": { "nested": { "path": "xf
我正在考虑使用弹性KNN搜索功能,从我看到的是我们如何查询KNN搜索的方式. GET my-index/_knn_search { "knn": { "field": "image_vector", "query_vector": [0.3, 0.1, 1.2], "k": 10, "num_candidates": 100 }, "_source": ["name", "file_type"] } 在这里 以上对我来说不是很清楚.这是一些问题: 如何选择10,000名候选人? 如果我们有100万个向量文档,则在所有这些方面进行搜索,我们应该选择100张碎片,以便每个碎片都有最大10K文档?我们需要在检索结果上非常好回忆. 他们的 我看到了类似的问题在这里但是没有适当的答案. 解决方案 您需要区分KNN(K最近的邻居)和精确的搜索. 使用精确的搜索(即通过使用script_score查询的蛮力搜索),如果您
我们正在尝试复制此ES插件这是插件的源代码. /** * @param params index that a scored are placed in this parameter. Initialize them here. */ @SuppressWarnings("unchecked") private PayloadVectorScoreScript(Map params) { params.entrySet(); // get field to score field = (String) params.get("field"); // get query vector vector = (List) params.get("vector"); // cosine flag
我想在文档中存储一个dense_vector的数组 PUT my_index { "mappings": { "properties": { "my_vectors": { "type": "dense_vector", "dims": 3 }, "my_text" : { "type" : "keyword" } } } } PUT my_index/_doc/1 { "my_text" : "text1", "my_vector" : [[0.5, 10, 6], [-0.5, 10, 10]] } 返回: '1 document(s) failed to index.', {'_index': 'my_index', '_type': '_doc', '_id': 'some_id', 'status': 400, 'error
我正在构建搜索,但需要用不同的分析仪分析1个字段.我的问题是,对于一个领域,我需要对其进行分析仪以进行茎(雪球),然后再将整个单词保留为一个令牌(关键字).我可以通过以下索引设置来使其工作: curl -X PUT "http://localhost:9200/$IndexName/" -d '{ "settings":{ "analysis":{ "analyzer":{ "analyzer1":{ "type":"custom", "tokenizer":"keyword", "filter":[ "standard", "lowercase", "stop", "snowball", "my_synonyms" ] } }
我正在尝试在Vagrant安装和运行Elasticsearch.问题是,当我尝试运行Elasticsearch时,我会收到以下错误: log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: /home/vagrant/elasticsearch-2.3.0/logs/elasticsearch.log (No such file or directory) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.(FileOutputStream.java:213) at java.io.FileOutputStream.
我正在使用Vagrant,我使用Debian软件包在它上安装了ES: elasticsearch-1.1.1.deb 在我的Web应用程序中,我正在使用JAR: org.elasticsearch elasticsearch 1.1.1 我正在创建我的客户,例如: val node = nodeBuilder.client(true).node val client: Client = node.client 当我尝试索引时,我会收到错误: val response = client.prepareIndex("articles", "article", article.id.toString).setSource(json).execute.actionGet 我遇到的错误是: [MasterNotDiscoveredException: waited for [1m]] 我可以看到我的ES实例可以通过: 来正常工作 http:/
我最近启动了一台流浪服务器,并希望让Elasticsearch继续进行.因此,我在" Chef/Centos-6.6" Vagrant Cloud VM上安装了Oracle Java和ES.我使用" etc/profile.d"中的shell脚本设置了java路径. 这是我的配置脚本: #!/usr/bin/env bash yum -y update wget -O /opt/jdk-7u67-linux-x64.tar.gz --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz" tar xzf
我正在设置一个Elasticsearch集群,我想将域URL设置为/elastic 当前,当我转到/elastic时,elasticsearch将/elastic作为索引的名称. 我没有找到有关如何为Elatsicsearch设置root URL上下文的任何文档.任何帮助将不胜感激. 解决方案 对于那些通过Internet搜索的人如何在Kubernetes中使用其他路径进行类似的事情,然后可以使用注释nginx.ingress.kubernetes.io/rewrite-target: /这样完成: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: / name: elasticsearch spec: rules:
在我的一个字段中,我在存储文档的URL(例如http://techcrunch.com/something-great) 当我不逃脱URL时,可以正确找到文档 - 但是我在某些URL上获得了EOF错误. 当我用以下方式逃脱URL时: String escapedString = QueryParser.escape(e.getKey().getUrl()); 找不到文档 - 我获得零命中. 那么如何做? { _index: "crawlbot", _type: "article", _id: "AVFaaFu4w49jUzVInKS5", _score: 1, _source: { job: { id: 65, name: "wikipedia_en", max_pages: 300000, cr