GVKun编程网logo

返回ElasticSearch索引中的最新记录(elasticsearch 返回指定字段)

13

本文将带您了解关于返回ElasticSearch索引中的最新记录的新内容,同时我们还将为您解释elasticsearch返回指定字段的相关知识,另外,我们还将为您提供关于5-ElasticSearch

本文将带您了解关于返回ElasticSearch索引中的最新记录的新内容,同时我们还将为您解释elasticsearch 返回指定字段的相关知识,另外,我们还将为您提供关于5-ElasticSearch索引备份、ElasticSearch中的排序和最新记录、ElasticSearch在索引中的位置、elasticsearch索引的实用信息。

本文目录一览:

返回ElasticSearch索引中的最新记录(elasticsearch 返回指定字段)

返回ElasticSearch索引中的最新记录(elasticsearch 返回指定字段)

我想从ElasticSearch索引返回最近的记录(前1个),类似于下面的sql查询;

SELECT TOP 1 Id, name, title FROM MyTable ORDER BY Date DESC;

能做到吗?

答案1

小编典典

你有_timestamp在您的文档映射启用?

{    "doctype": {        "_timestamp": {            "enabled": "true",            "store": "yes"        },        "properties": {            ...        }    }}

您可以在此处检查映射:

http://localhost:9200/_all/_mapping

如果是这样,我认为这可能会获得最新的信息:

{  "query": {    "match_all": {}  },  "size": 1,  "sort": [    {      "_timestamp": {        "order": "desc"      }    }  ]}

5-ElasticSearch索引备份

5-ElasticSearch索引备份

1,安装Node.js

# 解压
tar -zxvf  node-v12.18.3-linux-x64.tar.xz -C /home/install
# 配置环境变量
vi /etc/profile
# 追加如下内容
export NODEJS_HOME=/home/install/node-v12.18.3-linux-x64
export NODEJS_PATH=$NODEJS_HOME/lib/node_modules
export PATH=$NODEJS_HOME/bin:$PATH
# 刷新环境变量
source /etc/profile
# 测试
npm -v
node -v

2,安装elasticdump

具体的参数细节可以参考elasticdump官网,其实也包含详细的使用细节。
  • 在线安装
npm install elasticdump -g
  • 使用离线缓存安装的方式
# 解压缓存包,是在编写当前文档的时候保存的,如果失效了,在本地再生成一份即可
tar -xvf npm-cache.tar
# 进入node下的lib目录执行安装命令
npm install --cache /root/.npm --optional --cache-min 99999999999 --shrinkwrap false elasticdump
# 建立文件软连接到系统命令,如果elasticdump不在这个目录下,可以使用一下命令查找find / -name ''elasticdump''
ln -s /home/install/node-v12.18.3-linux-x64/node-v10.13.0-linux-x64/lib/node_modules/elasticdump/bin/elasticdump /usr/bin/elasticdump
# 验证
elasticdump --help

3,简单使用案例

# 备份索引
elasticdump --input=http://192.168.73.156:9200/item  --output=/home/elasticsearch/bakDemo/item_mapping.json --type=mapping 
# 备份数据
elasticdump --input=http://192.168.73.156:9200/item  --output=/home/elasticsearch/bakDemo/item_data.json --type=data

# 还原索引
elasticdump --input=/home/elasticsearch/bakDemo/item_mapping.json --output=http://192.168.73.156:9200/item --type=mapping
# 还原数据
elasticdump --input=/home/elasticsearch/bakDemo/item_data.json --output=http://192.168.73.156:9200/item --type=data

4,全量备份与还原

# 创建导出的目录,需要保持为空
mkdir /home/es_backup
# 执行导出命令
# 注意"--ignoreChildError"参数:ignoreChildError allows multi-elasticdump to continue if a child throws an error.
multielasticdump \
  --direction=dump \
  --match=''^.*$'' \
  --ignoreChildError \
  --input=http://192.168.73.156:9200 \
  --output=/home/es_backup 
# 执行还原命令
# 注意:这里测试还原的版本是5.6.14,所以还是需要template的,但是本身在导出的文件中不包含template文件,所以这里使用ignoreType选项在导入的时候忽略掉
multielasticdump \
  --direction=load \
  --ignoreChildError \
  --input=/home/es_backup \
  --ignoreType=''template'' \
  --output=http://192.168.73.156:9200

ElasticSearch中的排序和最新记录

ElasticSearch中的排序和最新记录

我有两个与ElasticSearch有关的问题。

1)有什么方法可以指定我想要特定字段的结果以降序排列吗?等效SQL查询为:

select * from table1 where a="b" order by myprimarykey desc;

2)如何获得第一和最后(最新)记录?

ElasticSearch在索引中的位置

ElasticSearch在索引中的位置

我正在考虑使用Elasticsearch建立排名。如果我索引根据分数排序的元素列表。我可以按元素名称查询并获得其在索引上的位置吗?

例如我建立一个包含两个元素的索引:

“ Element1”,得分:8“ Element2”,得分:7“ Element3”,得分:10

当我通过“ Element2”查询时,我想获得position = 3

elasticsearch索引

elasticsearch索引

elasticsearch索引


为了将数据添加到ES,我们需要索引,索引是一个存储关联数据的地方。实际上,索引只是一个用来指定一个或多个分片的“逻辑命名空间”,可以理解为MySQL中的一个数据库的概念。 

关于返回ElasticSearch索引中的最新记录elasticsearch 返回指定字段的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于5-ElasticSearch索引备份、ElasticSearch中的排序和最新记录、ElasticSearch在索引中的位置、elasticsearch索引等相关知识的信息别忘了在本站进行查找喔。

本文标签: