• 40.倒排索引核心原理


    主要知识点

    倒排索引核心原理:normalization

       

    假设有两个文档,内容如下

    doc1I really liked my small dogs, and I think my mom also liked them.

    doc2He never liked any dogs, so I hope that my mom will not expect me to liked him.

       

    1、初步分词,只是确定该词是否在文档中存在,不做其他处理

       

    word                doc1                        doc2

       

    I                *                        *

    really        *                        *

    my                *                        *

    small        *        

    dogs                *

    and                *

    mom                *                        *

    also                *

    them                *        

    He                                        *

    any                                        *

    so                                        *

    hope                                        *

    that                                        *

    will                                        *

    not                                        *

    me                                        *

    to                                        *

    him                                        *

       

    接下下搜索"mother like little dog",发现没有结果,doc1,doc2 都没有被搜索出来,原因如下:"mother like little dog",分词后的词为 motherlikelittledog。doc1和doc2均不含有这四个词,所以搜索不出来结果,

       

    二、normalization

    按常规来说,对于上述搜索es是应该出来结果的,因为mothermom是同义词,likeliked只是时态不同,littlesmall是同义词,dogdogs是单复数形式不同。可以发现如果仅仅这样建立是否存在的索引,而不做其他处理的话是没有多大用处的,所以在es内部,在建立倒排索引的会进行normalization, es对content的处理tokenization和normalization称为analysis过程。ES有很多种内置的analyzer来处理这些。normalization处理过程会在建立倒排索引的时候执行进一步的操作,对拆分出的各个单词进行相应的处理(包括但不限于时态的转换,单复数的转换,同义词的转换,大小写的转换等)以提升后面搜索的时候能够搜索到相关联的文档的概率。经过normalization处理后就可以搜索出正确的结果。

  • 相关阅读:
    TS 3.1
    TS 3.1
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    cookie会话技术
    数据库语法-1
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8468643.html
Copyright © 2020-2023  润新知