我们使用 Amazon Aurora 作为我们的 Web 应用程序的数据库。我们通过创建新参数组并将其附加到主实例来将主实例的事务级别设置为 READ-COMMITTED 以避免锁定。默认情况下,亚马逊副本通过使用默认实例参数组将事务级别用作可重复读取。当副本在发生故障时升级为主实例时,我们的主实例的事务级别将更改为 (TRANSACTION ISOLATION=REPEATABLE-READ )。当副本(读取器)升级为主实例(写入器)时,我们希望将事务级别设置为 READ-COMMITTED 而不是 REPEATABLE-READ。如果有人提供一种方法来实现这一目标,那就太好了。
database transactions isolation-level amazon-web-services amazon-aurora
我在Elastic Load Balancer后面有一个AWS Elastic Beanstalk(Node.js)设置,并为负载均衡器设置警报.每天晚上我收到大量警报:
Environment health has transitioned from Ok to Severe. 100.0 % of the requests are erroring with HTTP 4xx.
这是由于在99%的情况下使用HEAD方法拖网不同的PHP hackz和phpmyadmin,dbadmin等.由于我们有一个外部AIM服务,他们会触发这些警报以及为每个警报创建一个问题(我们现在改变了)但是你知道哭泣的"狼"......
问题是,是否可以阻止HEAD或某些URI我们知道我们不需要以某种方式摆脱"假"HTTP 4xx?
http amazon-ec2 amazon-web-services http-headers http-request
是否可以将 json 文件存储在与 Amazon Web Services Redis 兼容的 Elasticache 中?如果可能,完成相同任务的最佳方法是什么?
我正在使用ES 1.x版本,在索引某些文档时找不到错误。
某些文档未建立索引,我所看到的只是ES日志中的以下行。
stop throttling indexing: numMergesInFlight=2, maxNumMerges=3
now throttling indexing: numMergesInFlight=4, maxNumMerges=3
Run Code Online (Sandbox Code Playgroud)
我做了一个快速的谷歌,了解这些错误的高水平,但想了解以下:
INFO日志,我没有看到任何错误消息。有没有一种方法可以为索引启用详细日志记录,从而显示出索引编制过程中到底发生了什么?我试图在 Ubuntu 16.04 EC2 服务器上部署一个 Ruby on Rails 应用程序,但给出了一个关于 Elasticsearch 上 max_gram 和 min_gram 之间差异的错误,我还没有任何使用 Elasticsearch 的经验,所以我完全迷失在这里,我需要一些指导这样做并学习如何设置它以避免将来出现此问题。
我第一次进行部署时出现拒绝连接到 localhost:9200 的错误,因此我必须检查服务是否正在运行,甚至检查防火墙,最后我必须进行全新安装并在 elasticsearch 上配置所有内容。 yml 现在正在运行和工作,但是当我尝试再次部署时出现错误,在互联网上进行了大量搜索,有很多文档,但我仍然不知道在哪里设置这些值。
这是我在日志中得到的错误:
-----> Migrating database...
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
[400] {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: [1] but was [49]. This limit can be set by changing the [index.max_ngram_diff] index level setting."}],"type":"illegal_argument_exception","reason":"The difference between max_gram and min_gram in NGram Tokenizer …Run Code Online (Sandbox Code Playgroud) 当我通过一个批量请求向 ElasticSearch 添加 200 个文档时,速度非常快。
但我想知道是否有机会通过并发执行来加快进程:20 个并发执行,每个并发执行 10 个文档。
我知道这效率不高,但也许有机会通过并发执行来加快进程?
我有一个 SQL 表,正在导出到 Elasticsearch。
其中一列是可为空的数字字段,某些记录中存在空值。
当我们尝试为表建立索引时,会出现以下错误:
表的 ETL(BigQuery -> ElasticSearch)作业之一:MLS 已对索引 20000 中的 10000 个块进行 ES 失败,可能是由于对象不兼容。
Run Code Online (Sandbox Code Playgroud)Failing BigQuery Table: MLS Stack Trace of the error: Traceback (most recent call last): File "/Users/asif/zodiacbackend/zodiacbackend/tasks.py", line 205, ininsertIntoES helpers.bulk(es, doc_generator(dataframe,table)) 文件“/Users/asif/zodiacbackend/env/lib/python3.7/site-packages/elasticsearch/helpers/actions.py”,第 300 行,批量好的,streaming_bulk(客户端,操作,*args,**kwargs)中的项目:文件“/Users/asif/zodiacbackend/env/lib/python3.7/site-packages/elasticsearch/helpers/actions.py”,第230行,在streaming_bulk **kwargs文件“/Users/asif/zodiacbackend/env/lib/python3.7/site-packages/elasticsearch/helpers/actions.py”中,第158行,在_process_bulk_chunk中引发BulkIndexError(“%i文档(s) ) 索引失败。" % len(errors), 错误) elasticsearch.helpers.errors.BulkIndexError: ('2 个文档索引失败。', [{'index': {'_index': 'mls', '_type':'mls','_id':'b100qHABEFI45Lp-z3Om','状态':400,'错误':{'type':'illegal_argument_exception','reason':'不同类型的映射器[Lot_Size_Sq_Ft], current_type [text], merged_type [long]'}, 'data': { 'Lot_Size_Sq_Ft': Decimal('13504')}}}])
如何让系统识别空值?
我想通过 JAVA API 对字段进行映射,但失败了。以下是详细信息:
我的数据结构是:
{
"mje-test-execution-id": "464b66ea6c914ddda217659c84a3cb9d",
"jvm-free-memory": 315245608,
"jvm-total-memory": 361758720,
"system-free-memory": 0,
"jvm-max-memory": 7600078848,
"system-total-memory": 34199306240,
"memory-time-stamp": "2020-03-12T05:12:16.835Z",
"mje-host-name": "CN-00015345",
"mje-test-suite-name": "SCF Test no mje version",
"mje-version": "1.8.7771-SNAPSHOT",
"mje-test-artifact-id": "msran-regression-tests",
"mje-test-version": "1.8.7771-SNAPSHOT",
"stp-id": "vran-stp",
"mje-test-location": {
"lat": 58.41,
"lon": 15.62
}
}
Run Code Online (Sandbox Code Playgroud)
我想做的是:将“mje-test-location”类型设置为“geo_point”
我的代码片段:
public void postMapping(String indexName, String field, String type) throws IOException {
GetIndexRequest request = new GetIndexRequest(indexName);
boolean exists = client.indices().exists(request, RequestOptions.DEFAULT);
if (!exists) {
LOGGER.info("index {} does not exist. Now to post mapping.", indexName); …Run Code Online (Sandbox Code Playgroud) 我正在发布到我即将创建的 Elasticsearch 服务,但无法发布映射。我无法确定哪个部分不受支持。有什么建议么?
{
"mappings": {
"employees": {
"properties": {
"FirstName": {
"type": "text"
},
"LastName": {
"type": "text"
},
"Designation": {
"type": "text"
},
"Salary": {
"type": "integer"
},
"DateOfJoining": {
"type": "date",
"format": "yyyy-MM-dd"
},
"Address": {
"type": "text"
},
"Gender": {
"type": "text"
},
"Age": {
"type": "integer"
},
"MaritalStatus": {
"type": "text"
},
"Interests": {
"type": "text"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我一直收到此错误返回。
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has …Run Code Online (Sandbox Code Playgroud) 问题更在于:“Elasticsearch 节点如何交互以给出特定的搜索结果以及搜索请求的流程是什么?”
我参考了以下链接来理解,但它们对于我想要理解的内容不是很清楚。
根据上述文档,
那么,以上两种说法是否正确呢?因此,
或者,如果您可以帮助解释搜索请求的流程(哪个节点接收 API 调用、哪个节点过滤数据、哪个节点运行聚合等),那么这将非常有帮助。
如果相关,那么我使用 Elastic Search 7.5
amazon-ec2 ×1
bulkinsert ×1
database ×1
http ×1
http-headers ×1
http-request ×1
indexing ×1
java ×1
json ×1
logging ×1
n-gram ×1
null ×1
redis ×1
transactions ×1