gpt4 book ai didi

MySQL全文搜索: need fast insert and fast search

转载 作者:可可西里 更新时间:2023-11-01 07:08:16 25 4
gpt4 key购买 nike

我有一个 mysql 数据库,用户可以在其中输入文本。然后他们需要能够搜索此文本。我刚刚实现了 mysql 全文搜索,它确实使搜索速度快了很多。

然而,毫不奇怪,它使插入变慢了。但令我惊讶的是速度慢了多少。一次插入可能需要 0.5 - 1.5 秒。

该表有 3 个索引列:

title (max length 200)
description (max length 3000)
content (max length 10000)

此时我的表中只有大约 2000 条记录,与以后的记录相比,这算不了什么。

有什么建议吗?这个问题一般是怎么处理的?插入需要这么长时间是否正常?

我不需要全文搜索的所有功能。我真的只需要 AND、OR、-、+、""的等价物。所以没有权重等。可以关闭该索引以使其更快吗?

最佳答案

根据 eggyal 的评论回答。

我最终安装了 Sphinx。这很棒。我正在使用它的实时索引。快速搜索和快速插入。比 mysql 自由文本插入/搜索快得多。当然,我的数据库很小。他们有使用大型数据库进行快速实时索引的技巧(分为 2 个索引,一个包含旧数据,一个包含较新数据),但我不需要那个。

顺便说一句:我使用的是 Python/Django,不需要安装任何 api 或库,除了 sphinx 本身:

import MySQLdb
connection = MySQLdb.connect(host='127.0.0.1', port = 9306)
cursor = connection.cursor()
cursor.execute("select id from my_index where match('stackoverflow')")
results = cursor.fetchall()
# I use my regular connection to insert the IDs into a table in my regular database and then join with that to get actual data.

关于MySQL全文搜索: need fast insert and fast search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17896208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com