其他分享
首页 > 其他分享> > Solr实现站内搜索

Solr实现站内搜索

作者:互联网

solr常用命令:

使用:

managed-schema:配置中文分词

<field name="question_title" type="text_ik" indexed="true" stored="true" multiValued="true"/>
<field name="question_content" type="text_ik" indexed="true" stored="true" multiValued="true"/>

<fieldType name="text_ik" class="solr.TextField">
    <!--索引时候的分词器-->
    <analyzer type="index">
        <tokenizer class="org.wltea.analyzer.util.IKTokenizerFactory" useSmart=“false"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <!--查询时候的分词器-->
    <analyzer type="query">
        <tokenizer class="org.wltea.analyzer.util.IKTokenizerFactory" useSmart=“true"/>
    </analyzer>
</fieldType>

 

solrconfig.xml:数据库导入数据的时候使用

<lib dir="${solr.install.dir:../../../..}/ext/ikanalyzer" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/ext/mysql" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<requestHandler name="/dataimport" class="solr.DataImportHandler">
  <lst name="defaults">
    <str name="config">solr-data-config.xml</str>
  </lst>
</requestHandler>

 

再新建一个solr-data-config.xml文件,连接数据库使用

<dataConfig>
    <dataSource type="JdbcDataSource"
              driver="com.mysql.cj.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/wenda?serverTimezone=UTC"
              user="root"
              password="w123456"/>
    <document>
        <entity name="question"  query="select id,title,content from question">
            <field column="content" name="question_content"/>
            <field column="title" name="question_title"/>
        </entity>
    </document>
</dataConfig>

 

 

solr原理:

                          wuud__ 发布了33 篇原创文章 · 获赞 24 · 访问量 5万+ 私信 关注

标签:站内搜索,全文检索,实现,solr,索引,文档,创建,Solr,分词
来源: https://blog.csdn.net/wuud__/article/details/104060030