zoukankan      html  css  js  c++  java
  • solr4.5部署

    一.服务器部署

    1.solr自带jetty服务器上部署

    cd到solr-4.5.0example目录下,运行java -jar start.jar即可运行jetty服务器。访问http://localhost:8983/solr

    2.修改jetty服务器配置

    如果你的端口冲突了,你可以到解压的solr示例包的example/etc的jetty.xml中,

    例如修改端口port信息。

    <Call name="addConnector">
    <Arg>
    <New class="org.eclipse.jetty.server.bio.SocketConnector">
    <Call class="java.lang.System" name="setProperty"> <Arg>log4j.configuration</Arg> <Arg>etc/log4j.properties</Arg> </Call>
    <Set name="host"><SystemProperty name="jetty.host" /></Set>
    <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
    <Set name="maxIdleTime">50000</Set>
    <Set name="lowResourceMaxIdleTime">1500</Set>
    <Set name="statsOn">false</Set>
    </New>
    </Arg>
    </Call>

    二、solr配置及URL使用

    1.solr实例

    slor-home默认为solr-4.5.0examplesolr

    solr的核:solr-4.5.0examplesolrcollection1

    在solr-4.5.0examplesolrcollection1conf中进行配置,注意配置schema.xml中的field字段,必须有一个主键;solrconfig.xml中配置依赖lib的jar路径,以及updateHandler、requestHandler、fragmenter、queryResponseWriter、searchComponent等的对应class。

    2.schema.xml

    filed配置

    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

    属性名称

    描述

    Indexed

    Indexed Field 可以进行搜索和排序。你还可以在 indexed Field 上运行 Solr 分析过程,此过程可修改内容以改进或更改结果。

    Stored

    stored Field 内容保存在索引中。这对于检索和醒目显示内容很有用,但对于实际搜索则不是必需的。例如,很多应用程序存储指向内容位置的指针而不是存储实际的文件内容。

    fieldType 对应的class以及使用的analyzer(包括tokenizer和filter)

    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <!-- in this example, we will only use synonyms at query time
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    -->
    <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    </fieldType>

    3.通过url操作solr

    你可以向 Solr 索引 servlet 传递四个不同的索引请求:

    add/update 允许您向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。

    commit 告诉 Solr,应该使上次提交以来所做的所有更改都可以搜索到。

    optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。

    delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。

    Lucene中操作索引也有这几个步骤,但是没有更新。Lucene更新是先删除,然后添加索引。因为更新索引在一定情况下,效率没有先删除后添加的效率好。

     例如:删除索引

    Solr 删除全部索引:http://localhost:8080/solr/update/?stream.body=<delete><query>*:*</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

    solr 删除指定ID的索引:http://localhost:8080/solr/update/?stream.body=<delete><id>1</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

    4.通过url进行solr查询

    solr查询参数描述:

    参数

    描述

    示例

    q

    Solr 中用来搜索的查询。有关该语法的完整描述,请参阅 参考资料。可以通过追加一个分号和已索引且未进行断词的字段(下面会进行解释)的名称来包含排序信息。默认的排序是 score desc,指按记分降序排序。

    q=myField:Java AND otherField:developerWorks; date asc

    此查询搜索指定的两个字段,并根据一个日期字段对结果进行排序。

    start

    将初始偏移量指定到结果集中。可用于对结果进行分页。默认值为 0。

    start=15

    返回从第 15 个结果开始的结果。

    rows

    返回文档的最大数目。默认值为 10。

    rows=25,返回25个结果集

    fq

    提供一个可选的筛选器查询。查询结果被限制为仅搜索筛选器查询返回的结果。筛选过的查询由 Solr 进行缓存。它们对提高复杂查询的速度非常有用。

    任何可以用 q 参数传递的有效查询,排序信息除外。

    hl

    当 hl=true 时,在查询响应中醒目显示片段。默认为 false。参看醒目显示参数(见 参考资料)。

    hl=true

    fl

    作为逗号分隔的列表指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。“score” 指还应返回记分。

    *,score

    sort

    排序,对查询结果进行排序,参考

    sort=date asc,price desc

    5.solr性能优化相关参数

    Solr 索引处理的各种参数:

    因素

    描述

    useCompoundFile

    通过将很多 Lucene 内部文件整合到单一一个文件来减少使用中的文件的数量。这可有助于减少 Solr 使用的文件句柄数目,代价是降低了性能。除非是应用程序用完了文件句柄,否则 false 的默认值应该就已经足够。

    mergeFactor

    决定低水平的 Lucene 段被合并的频率。较小的值(最小为 2)使用的内存较少但导致的索引时间也更慢。较大的值可使索引时间变快但会牺牲较多的内存。

    maxBufferedDocs

    在合并内存中文档和创建新段之前,定义所需索引的最小文档数。段 是用来存储索引信息的 Lucene 文件。较大的值可使索引时间变快但会牺牲较多的内存。

    maxMergeDocs

    控制可由 Solr 合并的 Document 的最大数。较小的值 (< 10,000) 最适合于具有大量更新的应用程序。

    maxFieldLength

    对于给定的 Document,控制可添加到 Field 的最大条目数,进而截断该文档。如果文档可能会很大,就需要增加这个数值。然而,若将这个值设置得过高会导致内存不足错误。

    unlockOnStartup

    unlockOnStartup 告知 Solr 忽略在多线程环境中用来保护索引的锁定机制。在某些情况下,索引可能会由于不正确的关机或其他错误而一直处于锁定,这就妨碍了添加和更新。将其设置为 true 可以禁用启动锁定,进而允许进行添加和更新。

    6.URL上进行slor监视、统计

    用于监视、记录和统计数据的 Solr 管理选项

    菜单名

    URL

    描述

    Statistics

    http://localhost:8080/solr/admin/stats.jsp

    Statistics 管理页提供了与 Solr 性能相关的很多有用的统计数据。这些数据包括:

    关于何时加载索引以及索引中有多少文档的信息。

    关于用来服务查询的 SolrRequestHandler 的有用信息。

    涵盖索引过程的数据,包括添加、删除、提交等的数量。

    缓存实现和 hit/miss/eviction 信息

    Info

    http://localhost:8080/solr/admin/registry.jsp

    有关正在运行的 Solr 的版本以及在当前实现中进行查询、更新和缓存所使用的类的详细信息。此外,还包括文件存于 Solr subversion 存储库的何处的信息以及对该文件功能的一个简要描述。

    Distribution

    http://localhost:8080/solr/admin/distributiondump.jsp

    显示与索引发布和复制有关的信息。更多信息,请参见 “发布和复制” 一节。

    Ping

    http://localhost:8080/solr/admin/ping

    向服务器发出 ping 请求,包括在 solrconfig.xml 文件的 admin 部分定义的请求。

    Logging

    http://localhost:8080/solr/admin/logging.jsp

    让您可以动态更改当前应用程序的日志记录等级。更改日志记录等级对于调试在执行过程中可能出现的问题非常有用。

    properties

    http: //localhost:8080/solr/admin/get-properties.jsp

    显示当前系统正在使用的所有 Java 系统属性。Solr 支持通过命令行的系统属性替换。有关实现此特性的更多信息,请参见 solrconfig.xml 文件。

    Thread dump

    http://localhost:8080/solr/admin/threaddump.jsp

    thread dump 选项显示了在 JVM 中运行的所有线程的堆栈跟踪信息。

    三、solrj操作solr API

     

    参考文档:http://www.cnblogs.com/hoojo/archive/2011/10/21/2220431.html

  • 相关阅读:
    DPDK安装方法 17.12.13
    numa.h:No such file or directory 解决方法
    17秋 软件工程 第六次作业 Beta冲刺 Scrum3
    17秋 软件工程 第六次作业 Beta冲刺 总结博客
    17秋 软件工程 第六次作业 Beta冲刺 Scrum2
    Paper Reviews and Presentations
    17秋 软件工程 第六次作业 Beta冲刺 Scrum1
    17秋 软件工程 第六次作业 Beta冲刺
    error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted
    17秋 软件工程 个人作业 软件产品案例分析
  • 原文地址:https://www.cnblogs.com/DjangoBlog/p/3483615.html
Copyright © 2011-2022 走看看