使用Node.js进行ElasticSearch搜索
首先
我认为,在进行模糊搜索和全文搜索时,ElasticSearch更好。
在使用Node.js时,可以选择直接调用ElasticSearch的API,或者使用elasticsearch模块等多种选择,
但是使用elasticsearch模块更简单和高效。
安装ElasticSearch
使用npm安装elasticsearch
客户生成
const elasticsearch = require('elasticsearch');
const client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
搜索示例
const response = await client.search({
index: 'blogs',
body: {
query: {
"multi_match" : {
"query": "Node.js",
"fields": [ "title", "*_tag" ]
}
}
}
})
for (const blog of response.hits.hits) {
console.log('blog:', blog);
}
查询语句的书写方法,请参考以下文章:
https://www.elastic.co/guide/en/elasticsearch/reference/current/full-text-queries.html
AWS的ElasticSearch提供了开发指南。
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/what-is-amazon-elasticsearch-service.html
ElasticSearch发布了一个新的Javascript客户端。请查看链接:https://www.elastic.co/blog/new-elasticsearch-javascript-client-released
以上