zoukankan      html  css  js  c++  java
  • pythondjango项目基础haystack&whoosh&jieba_20191124

    全文检索框架和搜索引擎的安装和配置:

    • 安装全文检索框架,pip install django-haystack,
    • 安装搜索引擎,pip install whoosh
    • settings里面配置
    • 1,注册haystack
    • INSTALLED_APPS=[
    • # 注册全文搜索框架
    • 'haystack',
    • ]
    • 2,配置,
    • # 全文检索框架的配置
      HAYSTACK_CONNECTIONS = {
          'default': {
              # 使用whoosh引擎
              # 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
              'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine',
              # 索引文件路径
              'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
          }
      }
      
      # 当添加、修改、删除数据时,自动生成索引
      HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
      View Code

      这是一个路径:

    • 我找到Linux下面的路径:
    • /home/andy/.virtualenvs/lq_py3/lib/python3.5/site-packages/haystack/backends
    • 然后把我Windows下面的文件移动到这个地方,
    • 这里面有jieba分词的代码,

    生成索引文件:

    • 搜索的是商品表的数据,
    • 你要有索引文件的生成,最终是需要goossku这个类,新建一个这个类的一个索引类,
    • 在templates下面建立文件夹search,下面建立indexes,这两个文件名都是固定的,
    • 下面再建立goods文件夹,建立索引文件,
    • 现在就可以生成索引数据了,
    • >python manage.py rebuild_index

    全文检索的应用:

    • 两个地方,
    • 1,是页面上搜索的地方要有一个提交搜索的目标路径,
    • 2,是后台路由需要配置这个路径,这个是交给haystack来处理的,
    • 还需要一个搜索结果页的html页面,

    更改分词的方式:

    • 比如,很不错的草莓,
    • 但是你搜索不错,这是查不到的,
    • 所以默认whoosh里面的引擎,在分解词语的时候分词不好,有些词分的不好,
    • 我们要使用一个中文分词的包,就是jieba分词,这是中文默认的分词,比默认的要好,
    • 这个分词怎么用:
    • 第一步:安装
    • 安装,pip install jieba,
    • 有什么用?下面就是演示:
    • import jieba,
    • srt=‘很不错的草莓’
    • res=jieba.cut(str,cut_all=True)
    • for val in res:
    •          print(val)

    • 不错

      草莓

    • 这就是分词的结果,很不错,
    • 那么怎么用呢?
    • 第二步:在haystack目录新建一个文件,
    • 还是进入Linux中,haystack的目录下:
    • /home/andy/.virtualenvs/lq_py3/lib/python3.5/site-packages/haystack/backends
    • 然后把Windows下面的文件ChineseAnalyzer.py复制一份到这个地方,
    • 然后就可以了,
    • 1,安装
    • 2,新建一个文件,
    • 3,修改文件,
    • 4,修改配置,
    • 5,重新建立索引,这次就是使用jieba分词了
  • 相关阅读:
    要想成功,要先学会放弃:30条经典做人的哲学
    薛家德(帮别人名字作诗)
    激励一生的七个经典故事
    出色管理者的时间管理
    王华(帮别人名字作诗)
    申维维(帮别人名字作诗)
    王磊(帮别人名字作诗)
    秋凉
    牛佳(帮别人名字作诗)
    共度良宵
  • 原文地址:https://www.cnblogs.com/andy0816/p/11943882.html
Copyright © 2011-2022 走看看