Django-DRF中使用Elasticsearch ,使用IK分词

Posted zhaijihai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django-DRF中使用Elasticsearch ,使用IK分词相关的知识,希望对你有一定的参考价值。

一.安装依赖

django-haystack==2.8.1
drf-haystack==1.8.6
Django==2.0.5
djangrestframework==3.8.2

二.安装JAVA SDK

先到官网下载安装包:

下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

因为我装的Elasticsearch的版本是2.4.1,安装的JDK==1.8,ES 2.x后的版本使用haystack会有不兼容问题.

技术图片

安装步骤:

# 首先:
cd /usr/local/
mkdir javajdk
# 将下载的文件上传到:
/usr/local/javajdk
# 将文件解压到此文件夹
tar -xzvf jdk-8u231-linux-i586.tar.gz 
mv jdk1.8.0_231 java
# 配置环境变量:
vim /etc/profile

# 在文件最后添加这几行:

export JAVA_HOME=/usr/local/javajdk/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

 # 然后

 source /etc/profile

出现下面的提示则代表安装成功:

技术图片

三.安装Elasticsearch

下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

要注意的是Elasticsearch在root用户下启动是会报错的!

首先要新建用户:

useradd -g elastic elastic
# 在/home新建用户目录
mkdir elastic
# 将下载的安装包上传到 elastic 目录下
tar -xzvf elasticsearch-2.4.1.tar.gz -C /home/elastic/
# 给此目录授权
chown -R elastic:elastic elastic
# 切换用户
su - elastic
# 修改配置文件:
vim /home/elastic/elasticsearch-2.4.1/config/elasticsearch.yml
# 修改内容
path.data: /home/elastic/elasticsearch-2.4.1/data
path.logs: /home/elastic/elasticsearch-2.4.1/logs
network.host: 172.xxx.xxx.xxx
http.cors.allow-origin: "*"
# 如果没有data与logs在相关目录下建立

# 启动ES,在elasticsearch的bin目录下:
./elasticsearch

技术图片

如果在浏览器中看到上面的内容,则表示安装成功!

如果出错解决方法:

1.最大文件描述符太少了,至少要65536,修改/etc/security/limits.conf文件
命令:vim /etc/security/limits.conf
内容修改为:* hard nofile 65536

2.一个进程可以拥有的VMA(虚拟内存区域)的数量太少了,至少要262144,修改文件  
命令:vim /etc/sysctl.conf
增加内容为:vm.max_map_count=262144

3.最大线程太少了,至少要4096,修改/etc/security/limits.conf文件
命令:vim /etc/security/limits.conf
增加内容为:* hard nproc 65536


未完待续......
在Django中配置
安装IK分词插件

以上是关于Django-DRF中使用Elasticsearch ,使用IK分词的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearc之mapping的介绍

在并发情况下,Elasticsearc 如果保证读写一致?

全文检索

全文检索的配置

全文检索框架在django的使用

61. Django 2.1.7 全文检索