python 构建模糊材料以便快速进行内存搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 构建模糊材料以便快速进行内存搜索相关的知识,希望对你有一定的参考价值。

import re
import six

SPLITER = re.compile(r'[\s\,\;\/\:\(\)\[\]]')
IGNORES = re.compile(r'[\-\.]')


def build_fuzzy_material(inputs):
    """Build fuzzy material for quick in-memory search
    >>> build_fuzzy_material('Hello world, worl.d, words, Hello')
    'Hello words world'
    >>> build_fuzzy_material(['Ab','b.C','cd', 'BC'])
    'ab bc cd'
    >>> build_fuzzy_material('')
    ''
    >>> build_fuzzy_material(None)
    ''
    """
    if not inputs:
        return ''

    raw_text = inputs if isinstance(inputs, six.string_types) else ' '.join(inputs).lower()
    raw_text = IGNORES.sub('', raw_text)
    parts = [p.strip() for p in SPLITER.split(raw_text) if len(p.strip()) > 1]
    parts = list(set(parts))
    return ' '.join(sorted(parts))


if __name__ == '__main__':
    import doctest
    doctest.testmod()

以上是关于python 构建模糊材料以便快速进行内存搜索的主要内容,如果未能解决你的问题,请参考以下文章

python kd树 搜索

用于模糊字符串比较的好 Python 模块? [关闭]

python-----模糊搜索文件

角度材料自动完成力选择不起作用

python啥时间进行gc

关于Lucene怎么使用SpanQuery进行模糊搜索