【问题标题】:fulltext noise words - the logic behind全文噪声词 - 背后的逻辑
【发布时间】:2011-10-20 23:58:37
【问题描述】:

正如标题所描述的,在全文搜索中实施干扰词以避免这些词被搜索背后的逻辑是什么?我的意思是,如果有人搜索“存在或不存在”怎么办?没有显示结果?如果有人能告诉我背后的逻辑,我将不胜感激,因为我即将禁用ft_stopword_file

【问题讨论】:

    标签: mysql database search full-text-search logic


    【解决方案1】:

    这些停用词的原因是全文索引不会变得臃肿。它有助于性能和存储。如果您包含所有停用词(或禁用它们),则会在一定程度上降低全文搜索。

    【讨论】:

    • 所以我最好不要更改文件...“to be or not to be”怎么样?如何搜索这个?
    【解决方案2】:

    如果您禁用停用词,那么性能会急剧下降。解决此问题的方法是检查您的 php 代码以查看搜索查询中的停用词是否共同,并为这些查询调整“LIKE”搜索,或者简单地使用 sphinx 作为搜索引擎。停用词背后的逻辑是禁用搜索词,如“is,are,be,there,not”等...

    【讨论】:

      【解决方案3】:

      逻辑是这些词是如此常见,以至于它们会创建大型索引节点并降低系统性能,并且对用户毫无用处,因为“to”和“be”这两个词是如此常见且无上下文。

      更好的索引方法是使用 ngrams 来查找引用的短语,例如“to be”,但这种索引非常罕见。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-28
        • 2011-05-31
        相关资源
        最近更新 更多