1.下载安装文件
假如我们下载到/opt/elk目录
wget https: //download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz
|
2.解压安装文件
假如我们解压到/opt/elk目录
tar zxvf elasticsearch- 2.3 . 3 .tar.gz
|
3.修改elasticsearch.yml
打开/opt/elk/elasticsearch-2.3.3/config/elasticsearch.yml,修改配置内容如下:
cluster.name: goeasy-dev node.name: goeasy-dev-node1 network.host: 192.168 . 1.10
http.port: 9200
|
4.新建Linux用户
由于elasticsearch不能用root用户启动,因此我们需要新建一个用户来启动它
a. 使用useradd命令创建一个用户,并设置登录密码
useradd phy passwd phy 输入新密码 |
b.给新建的用户分配目录权限
假如/opt/elk/elasticsearch-2.3.3是我们安装的目录,那需要把这个目录的权限分配给用户
chown -R phy:phy /opt/elk/elasticsearch- 2.3 . 3
|
5.启动ElasticSearch
a. 使用su命令从root用户切换到phy用户
su phy 输入密码 |
b. 打开/opt/elk/elasticsearch-2.3.3目录,然后运行:
bin/elasticsearch #如果想在后台运行,可以增加-d bin/elasticsearch -d |
6.测试
在浏览器中输入http://192.168.1.10:9200/ ,如果能看到下面返回信息,说明elasticsearch安装成功了
{ "name" : "goeasy-dev-node1" ,
"cluster_name" : "goeasy-dev" ,
"version" : {
"number" : "2.3.3" ,
"build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde" ,
"build_timestamp" : "2016-05-17T15:40:04Z" ,
"build_snapshot" : false ,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
} |
参考文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html
附:Java操作ElastchSearch代码:
package com.yhiker.search;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.MatchQueryBuilder.Operator;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import com.lm.core.util.JsonUtils;
import com.lm.core.util.ValueUtils;
public class Test {
private static Client client = null ;
static {
init();
}
private static void init() {
if (client != null ) {
return ;
}
try {
Map<String,String> settingsMap = new HashMap<String,String>();
settingsMap.put( "cluster.name" , "goeasy-dev" );
settingsMap.put( "client.transport.sniff" , "true" );
Settings settings = Settings.settingsBuilder().put(settingsMap).build();
client = TransportClient.builder().settings(settings).build()
.addTransportAddress( new InetSocketTransportAddress(InetAddress.getByName( "192.168.1.10" ), 9300 ));
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
public static void createIndex(Goods goods) {
System.out.println( "==============createIndex=============" );
String json = JsonUtils.toJson(goods);
IndexResponse response = client.prepareIndex( "goeasy" , "goods" , ValueUtils.toString(goods.getId())).setSource(json).get();
// Index name
String _index = response.getIndex();
System.out.println( "_index=" + _index);
// Type name
String _type = response.getType();
System.out.println( "_type=" + _type);
// Document ID (generated or not)
String _id = response.getId();
System.out.println( "_id=" + _id);
// Version (if it's the first time you index this document, you will
// get: 1)
long _version = response.getVersion();
System.out.println( "_version=" + _version);
// isCreated() is true if the document is a new one, false if it has
// been updated
boolean created = response.isCreated();
System.out.println( "created=" + created);
}
public static void createGoodsIndex( int id,String title,String description,String category,String brand){
Goods goods = new Goods();
goods.setId(id);
goods.setTitle(title);
goods.setDescription(description);
goods.setCategory(category);
goods.setBrand(brand);
createIndex(goods);
}
public static void crateGoodsIndex(){
createGoodsIndex( 1 , "台南府城盐咖啡" , "【台湾第一盐咖啡】台南府城盐咖啡 时尚独特 香浓细腻" , "美食佳品" , "雀巢" );
createGoodsIndex( 2 , "我的心机 玻尿酸保湿锁水黑面膜 8片" , "【强效锁水】我的心机 玻尿酸保湿锁水黑面膜 8片 深度补水,海客" , "美妆个护" , "我的心机" );
createGoodsIndex( 3 , "我的心机 仙人掌精粹补水黑面膜 8片" , "【补水神器】我的心机 仙人掌精粹补水黑面膜 8片 补水急救" , "美妆个护" , "我的心机" );
createGoodsIndex( 4 , "糖村法式牛轧糖 500g" , "【高圆圆的喜糖】糖村法式牛轧糖 500g 新鲜美味" , "美食佳品" , "糖村" );
createGoodsIndex( 5 , "糖村法式牛轧糖 250g" , "【最好吃的牛扎糖】糖村法式牛轧糖 250g 新鲜美味" , "美食佳品" , "糖村" );
}
public static void search(){
SearchResponse response = client.prepareSearch( "goeasy" )
.setTypes( "goods" )
.setQuery(QueryBuilders.multiMatchQuery( "美食" , "title" , "description" , "category" , "brand" ).operator(Operator.AND))
.execute()
.actionGet();
System.out.println(response.toString());
SearchHit[] hits = response.getHits().getHits();
for (SearchHit hit:hits){
System.out.println(hit.sourceAsString());
}
}
public static void main(String[] args) {
//crateGoodsIndex();
//search();
}
} |
相关推荐
在Elasticsearch中安装插件,通常通过命令行工具执行,如`bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-pinyin-7.4.0.zip`,这将自动处理所有依赖并安装插件。 在配置方面,开发者...
ExecStart=/usr/app/es/elasticsearch/bin/elasticsearch [Install] WantedBy=multi-user.target ``` 方法二:在 /etc/init.d 目录下创建 elasticsearch 文件 在这个文件中,需要添加以下配置: ``` #!/bin/sh # ...
使用`/opt/es/essoftware/elasticsearch-2.3.4/bin/plugin install mobz/elasticsearch-head`命令安装,然后通过`http://cm3:9200/_plugin/head/`访问。 2. Marvel和Kibana是Elasticsearch的数据监控和可视化工具。...
安装命令可能是 `sudo yum install -y elasticsearch-7.17.3.x86_64.rpm` 或者 `sudo dnf install -y elasticsearch-7.17.3.x86_64.rpm`。 另一个文件 `gradle-7.4.2-all.zip` 是Gradle构建工具的完整版本,版本号...
在现代大数据分析和搜索引擎领域,Elasticsearch(ES)因其高效、灵活的全文检索能力而备受青睐。然而,对于中文这样的多字节语言,如何准确地进行分词是关键。这时,我们就需要引入专门的中文分词器。本文将详细...
内含的一键安装脚本 `installES.sh` 是为了简化 Elasticsearch 的部署过程,使得用户能够在Linux环境中快速便捷地安装和配置 Elasticsearch 7.7.0。通常,这个脚本会包含以下步骤: 1. **环境检查**:检查操作系统...
安装 Elasticsearch-analysis-ik 插件非常简单,只需在 Elasticsearch 根目录下执行命令 `bin/elasticsearch-plugin install analysis-ik`,然后重启 Elasticsearch 服务。在配置文件 `elasticsearch.yml` 中可以...
./plugin install mobz/elasticsearch-head ``` 如果你已经解压了 `elasticsearch-head-master` 文件,可以使用本地路径代替 URL 安装。 3. 安装完成后,重启 Elasticsearch 服务以使插件生效。 **使用 Head ...
在Linux环境中,Elasticsearch作为一个强大的全文搜索引擎,广泛用于数据检索和分析。为了方便在命令行界面进行查询和操作,开发者通常会利用各种工具。"es2unix"就是这样一个工具,它将Elasticsearch的查询结果转换...
**Elasticsearch-Head:一个强大的可视化界面** Elasticsearch-Head是一款专为Elasticsearch设计的开源可视化管理工具,它极大地简化了Elasticsearch集群的管理和监控工作。这款插件提供了一个直观、友好的用户界面...
- 安装为Windows服务:使用`bin/elasticsearch-service.bat install`命令,将Elasticsearch注册为Windows服务,便于管理和启动。 4. **Kibana集成**: - Kibana是Elasticsearch的数据可视化工具,与Elasticsearch...
./elasticsearch-plugin install file:///path/to/elasticsearch-analysis-ik-7.17.13.zip ``` 这里的`/path/to/`需要替换为实际的文件路径。 4. **验证安装**:启动或重启Elasticsearch服务后,通过以下命令...
你可以通过`bin/elasticsearch-plugin.bat install <plugin-name>`命令来安装插件,比如Kibana、Logstash和Beats等。 **7. 集群管理** Elasticsearch是一个分布式系统,多个节点可以组成一个集群。通过配置集群...
在bin目录下,运行`elasticsearch-service.bat install`命令可以将Elasticsearch注册为Windows服务,然后使用`elasticsearch-service.bat start`启动服务。 5. **配置文件**: 解压后的目录中包含一个名为`elastic...
在日志收集和分析领域,Elasticsearch(简称ES)是广泛应用的搜索引擎和数据分析工具,它与Logstash(数据采集)、Kibana(数据可视化)共同构成了ELK(Elasticsearch、Logstash、Kibana)栈。对于中文处理,分词器...
Elasticsearch(ES)是一款流行的开源全文搜索引擎,常用于日志收集、数据分析和实时搜索等场景。在处理中文文本时,分词器插件是必不可少的组件,它能够将中文字符串分解为有意义的词汇单元,以提升搜索的准确性和...
通常,Elasticsearch插件会安装在`$ES_HOME/plugins`目录下,其中`$ES_HOME`是Elasticsearch安装目录。 4. **离线安装**: 由于在线安装可能会因为网络问题导致失败,我们选择离线安装方式。在Elasticsearch的安装...
3. **安装依赖**:在elasticsearch-head-master目录下运行`npm install`命令,安装项目所需的依赖库。 4. **启动服务**:使用`npm start`命令启动elasticsearch-head服务,通常它会在本地的9100端口上运行。 5. **...
同时,还需要通过Elasticsearch的命令行工具进行插件安装,例如使用`bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-pinyin-6.8.2.zip`命令。 值得注意的是,虽然拼音分词插件大大提高...