环境说明:

操作系统:由于是使用的docker直接拉取的镜像部署的,系统是LINUX环境

mongodb: 4.0.3

solr: 7.5.0

python: 3.5

配置mongodb

1.拉取mongodb镜像,创建容器;

  这里我使用的是docker容器管理UI进行操作的,强烈推荐portainer,确实好用;登陆后台管理界面后,直接点击App Templates,找到mongo,点击进去就是配置了。这里有一点说明,最好点击show advanced options配置一个固定端口;

2.配置容器

点击已部署配置好的容器,选择Duplicate/Edit按钮,配置端口,我配置的是28766,在Command处,修改成/bin/sh,把Entry Point留空,这是因为拉取的镜像模板是配置好默认启动的,如果这里不清空,就直接启动了,再去里面处理的时候会有一些麻烦。如下图:

记得将端口暴露。勾上下图那个

完成之后,点击Deploy the container,启动容器

3.点击console,进入到容器的shell中,输入  apt-get update 进行升级,完成之后安装python环境和pip

apt-get update
apt-get install python3
aptapt-get install python3-pip

安装python环境是因为mongo-connector是基于python运行的。

4.安装mongo-connector

pip3 install 'mongo-connector[solr]'

5.将mongodb设置为指定副本启动,&表示在后台运行,(如果不加上前面那段,是连接不上的,非docker部署的请忽略前面那段sh)

/usr/local/bin/docker-entrypoint.sh mongod --replSet my_demo&

6.初始化mongodb

mongo
rs.initiate()

至此,mongodb环境已配置完成。我们可以使用连接工具测试一下是否正常。

配置solr

1.拉取镜像,创建容器并启动;

2.创建一个solr core

solr create -c my_demo

3.打开浏览器,输入solr管理的URL地址,http://192.168.1.60:8983/solr/(即ip:solr运行的端口)打开solr管理界面

4.将schema.xml和solrconfig拷贝出来(这个是在安装docker的主机上运行,主要是容器中不好配置,无界面,如果不是使用的docker,可以在对应的路径内找到这俩个文件)

sudo docker cp d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150:./opt/solr/server/solr/my_demo/conf/solrconfig.xml ./solrconfig.xml 
sudo docker cp d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150:./opt/solr/server/solr/my_demo/conf/managed-schema ./schema.xml

其中  d0547a1ed6cfb260f4ca4f4e4c2c140fdb99421b75b5155e735b45a075a1c150 是容器的id,换成自己的容器id即可

5.在solrconfig.xml中添加

<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />

6.在schema.xml中配置数据结构

<field name="title" type="string" indexed="false" stored="true"/>
<field name="content" type="text_general" indexed="false" stored="true"/>

7.将文件拷贝回solr目录下

sudo docker cp ./solrconfig.xml 3ed272a8ed088675dab8c6fab9335a6aedf7dcef9d73ed3a9d922f315be6f572:./opt/solr/server/solr/my_demo/conf/solrconfig.xml
sudo docker cp ./schema.xml 3ed272a8ed088675dab8c6fab9335a6aedf7dcef9d73ed3a9d922f315be6f572:./opt/solr/server/solr/my_demo/conf/schema.xml

8.登陆solr管理端,点击 core Admin->my_demo,点击reload重新加载,然后在下面选择 my_demo->schema,进行查看是否修改,如果修改成功的话,这里会显示已经修改后的schema。在这一步时有一点需要注意,因为my_demo新建时,并没有schema.xml这个文件,有的是managed-schema这个文件,在这一步操作之前,要删除managed-schema,或者将其改名为schema.xml,否则是一直读取的managed-schema这个文件

至此,solr也就配置完成了。

在mongodb容器中运行 mongo-connector

mongo-connector --auto-commit-interval= -m localhost: -t http://192.168.1.60:8983/solr/my_demo -d solr_doc_manager

其中格式为

mongo-connector -m <mongodb server hostname>:<replica set port> \
-t <replication endpoint URL, e.g. http://localhost:8983/solr> \
-d <name of doc manager, e.g., solr_doc_manager>
          -n <collection e.g. db.collection>
my_demo是刚才建的solr core,

在mongodb中插入数据测试一下

solr搜索引擎配置使用mongodb作为数据源的更多相关文章

  1. Solr搜索引擎 — 通过mysql配置数据源

    一,准备数据库数据表结构 CREATE TABLE `app` ( `id` int(11) NOT NULL AUTO_INCREMENT, `app_name` varchar(255) NOT ...

  2. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  3. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  4. Solr搜索引擎搭建详细过程

    1    什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中 ...

  5. Django haystack+solr搜索引擎部署的坑.

    跟着<<Django by Example>> 一路做下来,到了搭建搜索引擎的步骤 默认的思路是用 obj.objects.filter(body__icontains='fr ...

  6. PHP-从零开始使用Solr搜索引擎服务(上)

    前言: 原文地址: http://www.cnblogs.com/JimmyBright/p/7156069.html 使用搜索引擎,我们常规的数据查询会快很多,还可以对关键词进行中文分词查询,返回一 ...

  7. Solr搜索引擎服务器学习笔记

    Solr简介 采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能 ...

  8. solr多核配置

    假设已经配置好了一个单core的solr服务器. solr.xml配置文件 单核和多核主要在solr.xml配置不同.在solr/example中已经有一个名称为multicore的文件夹里面给我们配 ...

  9. Spring 数据源配置二:多数据源

    通过上一节  Spring 数据源配置一: 单一数据源  我们了解单一数据源的配置, 这里我们继续多个数据源的配置 如下(applicationContent.xml 内容) 一:  Spring   ...

随机推荐

  1. iOS开发手记-仿QQ音乐播放器动态歌词的实现

    最近朋友想做个音乐App,让我帮忙参考下.其中歌词动态滚动的效果,正好我之前也没做过,顺便学习一下,先来个预览效果. 实现思路 歌词常见的就是lrc歌词了,我们这里也是通过解析lrc歌词文件来获取其播 ...

  2. 08-部署node节点

    部署kubernetes node节点 kubernetes node 节点包含如下组件: Flanneld: 省略,参照之前部署的文档 Docker1.12.5: 省略,参照之前部署的文档 kube ...

  3. Ubuntu下安装程序的三种方法(转)

    引言 在Ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. 一.apt-get方法 ...

  4. Ubuntu 16.04 截图快捷键

    一.查看 "截图" 快捷键 打开 "系统设置",点击 "硬件" 下的 "键盘",然后点击 "快捷键" ...

  5. python常用库 - NumPy 和 sklearn入门

    Numpy 和 scikit-learn 都是python常用的第三方库.numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy的存在使得py ...

  6. table滑块

    我们做table时,常常想做一个滑块的移动效果,来让app显得更加生动,原理很简单,废话不说,直接上code public class AnimationActivity extends AppCom ...

  7. 和我一起打造个简单搜索之IK分词以及拼音分词

    elasticsearch 官方默认的分词插件,对中文分词效果不理想,它是把中文词语分成了一个一个的汉字.所以我们引入 es 插件 es-ik.同时为了提升用户体验,引入 es-pinyin 插件.本 ...

  8. REX:EOS资源租赁平台详解

    关键字:REX,资源交易,资源租赁,系统费用,bancor,成熟期,EOS,eosio.system,voting EOSIO 智能合约在v1.6.0版本增加了一个system合约使用的例子,可提供E ...

  9. 修改任务显示WrkTaskIp.aspx页面

    环境:Sharepoint2010 需求:在审批任务页面中插入或显示表单或列表内容,让内容与审核在同一页面上. 修改文件:WrkTaskIp.aspx(改前记得备份) 文件所在的路径:C:\Progr ...

  10. SQL 同一张表中相同字段的内容合并为一条记录(不同字段的那一列每个记录后面加逗号)

    一.创建表 create table stuUnion ( sid int identity primary key, cid int, id ) ) 二.添加数据 insert into stuUn ...