ddddddf 发表于 2017-12-19 18:46:23

solr-6.4.1 学习安装与配置 和 Elasticsearch(1.5.2)学习文档

solr-6.4.1 学习安装与配置 和Elasticsearch(1.5.2)学习文档
下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6.4.1/直接访问服务链接:http://localhost:89833.1建立核心(core)当Solr的服务器在独立模式下启动的配置称为核心,当它在SolrCloud模式启动的配置称为集合。在这个例子中,我们将有关独立服务器和核心讨论。我们将在以后再讨论SolrCloud。首先,我们需要创建一个核心的索引数据。Solr的创建命令有以下选项:
[*]-c <name> -要创建的核心或集合的名称(必需)。
[*]-d <confdir> -配置目录,在SolrCloud模式非常有用。
[*]-n <configName> -配置名称。这将默认为核心或集合的名称。
[*]-p <port> -本地Solr的实例的端口发送create命令; 默认脚本试图通过寻找运行Solr的实例来检测端口。
[*]-s <shards> -Number of shards to split a collection into, default is 1.
[*]-rf <replicas> -集合中的每个文件的份数。默认值是1。
[*]
在这个例子中,我们将使用的核心名称和配置目录-d参数-c参数。对于所有其它参数我们使用默认设置。现在在命令窗口浏览 solr-5.0.0\bin文件夹,并发出以下命令。solr create -c jcg -d basic_configs我们可以看到在命令窗口中下面的输出。Creating new core 'jcg' using command:http://localhost:8983/solr/admin/cores?action=CREATE&name=jcg&instanceDir=jcg { "responseHeader":{ "status":0, "QTime":663}, "core":"jcg"}2017 03-02solr配置 :原文链接:http://blog.csdn.net/u011317027/article/details/56485233配置环境 :tomcat1.8jdk1.8solr-6.4.1 window下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6.4.1/下载solr-6.4.1.zip就行 解压文件夹 solr-6.4.1第一步:把solr-6.4.1.zip解压之后,找到solr-6.4.1/server/server-webapp/目录下的webapp文件夹,复制粘贴到tomcat下的webapps下;第二步:把solr-6.4.1/server/lib/ext目录下的所有jar包、和solr-6.4.1/dist下的solr-dataimporthandler-6.4.1.jar、solr-dataimporthandler-extras-6.4.1.jar粘贴复制到tomcat下的solr项目的WEB-INF/lib目录下;第三步:把server目录下的solr文件夹粘贴复制到其他目录,然后重命名为:solr-home,这是solr核心文件夹。第四步:修改tomcat下的solr项目的WEB-INF/web.xml,这一步用来指定默认的solr/home。在web.xml开头附近找到:<env-entry>       <env-entry-name>solr/home</env-entry-name>       <env-entry-value>D:/soft/apache-tomcat-8.0.39/solr-home</env-entry-value>       <env-entry-type>java.lang.String</env-entry-type>    </env-entry>然后取消注释,把<env-entry-value>填第三步solr-home文件夹的地址。第五步:在tomcat下的solr项目的WEB-INF下新建classes目录,然后把solr-6.4.1/server/resources下的log4j.properties粘贴过去;做完这五步就基本搭建完成了,可以访问http://localhost:8080/solr/index.html可以到solr的后台做一些配置工作。下面说一下搭建过程中可能遇到的异常:1,启动tomcat时如果报下面的错误:严重: Exception starting filter SolrRequestFilterjava.lang.NoClassDefFoundError: com/codahale/metrics/MetricSetat java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)at java.lang.Class.getConstructor0(Class.java:3075)at java.lang.Class.newInstance(Class.java:412)at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.MetricSetat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)... 20 more请把solr-6.4.1/server/lib下的metrics-core-3.1.2.jar,metrics-ganglia-3.1.2.jar,metrics-graphite-3.1.2.jar,metrics-jetty9-3.1.2.jar,metrics-jvm-3.1.2.jar这几个jar包放到tomcat下的solr项目的WEB-INF/lib目录下。这个异常是缺少jar包,具体哪个不清楚,没有把metrics开头的jar包一个一个地测试,有耐心的同学可以找一下具体哪个jar包。2,访问http://localhost:8080/solr/index.html时如果报下面的错误:HTTP Status 403 - Access to the requested resource has been denied把tomcat下的solr项目的web.xml文件中 <security-constraint><web-resource-collection><web-resource-name>Disable TRACE</web-resource-name><url-pattern>/</url-pattern><http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint><security-constraint> <web-resource-collection><web-resource-name>Enable everything but TRACE</web-resource-name><url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection></security-constraint> 这段注释掉。这段配置限制了对solr资源的访问,注释掉就可以访问了。最后解决掉上面的异常后,重启tomcat,访问http://localhost:8080/solr/index.html,不出意外会进入如下图的页面http://note.youdao.com/yws/res/40558/WEBRESOURCEf7679fccb5b891062692a6a2f038b5e72017 03-22Elasticsearch是什么?ElasticSearch是一个基于Lucene的搜索服务器。Elasticsearch干什么用?它提供了一个分布式多用户能力的全文搜索引擎。Elasticsearch有什么好处?Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。Elasticsearch怎么用?(windows环境下)首先他是基于java环境的在安装它之前必须安装java环境,jdk保证是8,下载他自己的工具包(http://www.elasticsearch.org/download), 解压到指定目录,在命令窗口进入到解压后的bin目录下,双击elasticsearch.bat,出现类似下列图样.http://note.youdao.com/yws/res/40697/WEBRESOURCE7470b4ce248c2de6a6e28dbc7cb1210c我们通过 浏览器里测试一下http://note.youdao.com/yws/res/40698/WEBRESOURCE9d76f5cb4a8b4d59a6c03bc74762888e能出现这样的界面表示已经正常运行了elasticsearchhead 是集群管理工具、数据可视化、增删改查工具,我们安装head插件http://note.youdao.com/yws/res/40699/WEBRESOURCE94a7af53308f27aeae209caafcf34d83然后安装成功后,在浏览器中输入:http://localhost:9200/_plugin/head/,可以看到效果。http://note.youdao.com/yws/res/40701/WEBRESOURCE65e162017e756f3c56923d56f6c5f785我们了解下这个控制台的各部分http://note.youdao.com/yws/res/40702/WEBRESOURCEfd0973f65d515eb54972d50a5a801d9c我们看下数据浏览视图http://note.youdao.com/yws/res/40704/WEBRESOURCE79ee806904a959f2d34477f609d30bab基本查询视图http://note.youdao.com/yws/res/40705/WEBRESOURCEc82e9af9e4108982e09ac40075ca0eb8Elasticsearch有什么优缺点?优点:横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下ES进程就可以并入集群;分片机制提供更好的分布性:同一个索引分成多个分片(sharding),这点类似于HDFS的块机制;分而治之的方式来提升处理效率;高可用:提供复制(replica)机制,一个分片可以设置多个复制,使得某台服务器宕机的情况下,集群仍旧可以照常运行,并会把由于服务器宕机丢失的复制恢复到其它可用节点上.缺点:各节点的一致性问题:其默认的机制是通过多播机制,同步元数据信息,但是在比较繁忙的集群中,可能会由于网络的阻塞,或者节点处理能力达到饱和导致各节点元数据不一致——也就是所谓的脑裂问题,这样会使集群处于不一致状态。没有细致的权限管理机制,也就是说,没有像MySQL那样的分各种用户,每个用户又有不同的权限。所以在操作上的限制需要自己开发一个系统来完成;Elasticsearch在java中使用demo我们在eclipse中新建maven工程,在pom中引入我们的elasticsearch坐标http://note.youdao.com/yws/res/40707/WEBRESOURCEc378d19ceece2a2ef5770ebc0050066e这是我们项目中所需要的jar已经给我们下载下来了http://note.youdao.com/yws/res/40709/WEBRESOURCEd75a26705f5fff6575a21ddff02f1669ES中所有的Java API调用都要使用Client对象,ES为API调用者提供了两类Client对象:NodeClient和TransportClient。下面来讲讲这两类Client的差异和使用场景。NodeClient是一种嵌入式节点客户端。它首先在客户端启动一个节点(Node),并加入同名集群内。这个节点可以保存数据,并且数据能够被索引。然后从这个节点中获取Client,这类Client就是NodeClient。NodeClient无需指明ES服务端的地址,操作的数据位于启动的节点所在的集群中。http://note.youdao.com/yws/res/40710/WEBRESOURCE993285a6fb7948c2948be9be8c81e5bc我们运行代码看下我们获取的client对象http://note.youdao.com/yws/res/40712/WEBRESOURCE456f6ee69dee0ec6a8875812f219f4f8TransportClient连接远端的ES集群,其本身并不会加入集群。创建TransportClient的代码如下:http://note.youdao.com/yws/res/40713/WEBRESOURCE552a57718ffcde563490330bff30d4aaTransportClient适合用于生产环境中针对索引的操作创建索引http://note.youdao.com/yws/res/40714/WEBRESOURCE2340e002d68e42a4b57fc8e7af309de5进行测试,出现true表示创建索引成功http://note.youdao.com/yws/res/40716/WEBRESOURCEa69850c06055b8bd29b6e307827bf14f索引上新建mappinghttp://note.youdao.com/yws/res/40717/WEBRESOURCE6dd73ec5f4defca8c38dda187c1c3808删除索引、http://note.youdao.com/yws/res/40718/WEBRESOURCE659573705612077ec3d2924b9419a0fd对文档的增删改查新增文档http://note.youdao.com/yws/res/40721/WEBRESOURCEadda7cb3b6be9bf260429343b3450e29更新文档http://note.youdao.com/yws/res/40722/WEBRESOURCE7cf053052c8595fdacf578897073e493更具id查询文档http://note.youdao.com/yws/res/40723/WEBRESOURCE88198fa09c31aa911b460b0107efc5b9复杂查询,使用filter方式查询数据http://note.youdao.com/yws/res/40725/WEBRESOURCE8dac1e4d3a105b36052da06e04b04fc3删除指定id的文档http://note.youdao.com/yws/res/40726/WEBRESOURCE99145489f2fb211bde731085b459d8c9根据复杂的查询条件来删除文档http://note.youdao.com/yws/res/40727/WEBRESOURCE4dfb5f7e91983995a414086f26d63646使用min聚合查询某个字段上最小的值 http://note.youdao.com/yws/res/40728/WEBRESOURCE80c3b4b81a7c7b00e149e534f252ca4a  posted on 2017-03-31 15:24 荞 阅读(...) 评论(...)编辑 收藏
页: [1]
查看完整版本: solr-6.4.1 学习安装与配置 和 Elasticsearch(1.5.2)学习文档