美文网首页
EX08——金庸小说全文索引

EX08——金庸小说全文索引

作者: nicokani | 来源:发表于2018-07-14 21:46 被阅读0次

    1.实验目的

    找到金庸的14部小说,并从中找出金庸小说哪些地方提到传奇人物“独孤求败”

    2.实验环境

    Windows 10;
    solr版本:7.3.1版本;
    Java版本:1.8.0_144(如下图查看java环境是否配置以及版本)


    3.实验所需材料准备——金庸14部小说

    之前班上有同学已经整理好了,并且进行了章节划分和转码(utf-8),现将小说放在如下的路径下:

    D:\金庸小说资料\金庸小说全集" fileName=".*\.txt
    

    4.在solr中新建一个core

    新建core的名称为EX08
    http://localhost:8983/solr/#/EX08        #在浏览器中输入该url进入solr的admin界面
    

    5.进行solr的配置

    (1)添加ik分析包
    将ik分词的jar添加到solr对应的目录下,这里使用的是ik-analyzer-solr7-7.x.jar分词包


    接下来对ik分词包的停用词和自定义词典进行定义:

    自定义词典
    在自定义词典stopword.dic中添加以上内容
    (2)对ik分词包进行字段类型定义

    (3)配置相应的config文件
    由于金庸的小说资料是纯文本类型的,并且存储在本地电脑上,因此它与我们之前传输文件的方式不一样,它通过获取文本资料存在的路径来获取信息构建索引,需要新建一个配置文件支持后续的索引,在conf目录下新建一个data-config.xml;并作如下配置(参考来源:https://www.jianshu.com/p/d6a3f82fb532
    <dataConfig>
      <dataSource name="fileDataSource" type="FileDataSource" />
      <document>
    <!-- baseDir:被索引文件的位置 fileName:正则匹配文件名 -->
        <entity 
        name="files" dataSource="null" rootEntity="false"
        processor="FileListEntityProcessor"
        baseDir="D:\金庸小说资料\金庸小说全集" fileName=".*\.txt"  
        onError="skip" 
        recursive="true"> 
          <!-- 将文件信息与相应的managed-schema中的field对应起来,有id、filePath、size、lastModified、text这些字段 -->
          <field column="file" name="id"/>
          <field column="fileAbsolutePath" name="filePath" />
          <field column="fileSize" name="size" />
          <field column="fileLastModified" name="lastModified" />
          <entity processor="PlainTextEntityProcessor" name="txtfile" url="${files.fileAbsolutePath}" dataSource="fileDataSource">
            <field column="plainText" name="text"/>
          </entity>
        </entity>
      </document>
    </dataConfig>
    

    (3)修改solrconfig.xml文件
    在solrconfig.xml文件中添加以下内容:


    (4)在managed-schema中设计字段
    (5)重启solr
    bin/solr.cmd restart -p 8983
    

    6.索引构建

    7.检索“独孤求败”

    首先可以先看一下ik的分词效果:


    分词的效果很满意

    在14部小说中查询“独孤求败”存在的位置,这里使用了高亮,方便找出独孤求败在哪一部小说的哪一章节:



    上图可以看到一共出现了9条结果,下图是高亮字段,可以看出分别出现在哪部小说的哪一章

    “独孤求败”在金庸的14部小说出现在了9个章节,分别是:
    《神雕侠侣》的23、26、27、30、32章
    《笑傲江湖》的10、18、21、39章

    相关文章

      网友评论

          本文标题:EX08——金庸小说全文索引

          本文链接:https://www.haomeiwen.com/subject/axhmuftx.html