Javascript 如何使用文本中的单词搜索MySQL表?

Javascript 如何使用文本中的单词搜索MySQL表?,javascript,php,mysql,Javascript,Php,Mysql,我正在创建一个应用程序,用户可以在其中保存单独的笔记。在便笺中,用户可以识别便笺的关键字。如果在另一个注释中提到该单词,我希望应用程序创建指向该注释的链接,其中该单词是一个关键字 例如: 注1:“这是带有[关键字]的注释”(关键字用括号标识) 注2:“这是一个不同的注释,但提到了单词关键字” 现在我想在注释2中的单词“关键字”处创建一个链接,指向注释1 当输入关键字时,它会保存在关键字表中并链接到相应的注释id。我不知道当用户添加注释或加载现有注释时如何搜索该关键字表。在SQL查询中使用所有单词

我正在创建一个应用程序,用户可以在其中保存单独的笔记。在便笺中,用户可以识别便笺的关键字。如果在另一个注释中提到该单词,我希望应用程序创建指向该注释的链接,其中该单词是一个关键字

例如:

注1:“这是带有[关键字]的注释”(关键字用括号标识) 注2:“这是一个不同的注释,但提到了单词关键字”

现在我想在注释2中的单词“关键字”处创建一个链接,指向注释1

当输入关键字时,它会保存在关键字表中并链接到相应的注释id。我不知道当用户添加注释或加载现有注释时如何搜索该关键字表。在SQL查询中使用所有单词似乎没有意义,因为这可能会创建很多很多查询


您的想法是什么?

您要求的功能可以实现,但问题是密集处理。我建议,首先你应该限制一张便笺的最大关键字数(比如3或4)。然后,对于关键字映射,首先允许用户在注释2中定义关键字,而不是在注释2中搜索整个文本(即用户添加的新注释)。 一旦用户定义了注释2中的关键字,这些关键字可以在提交时与数据库关键字列表进行比较,并可以创建所需的链接

在接受之前,询问用户是否希望插入这些链接(他可能会得到20个链接,但他只想从中选择3个或4个。您还可以限制要附加的链接数量)

假设,若并没有找到匹配项,或者用户对链接不满意,那个么给出重新定义关键字并再次比较的选项


这种方法将降低复杂性并易于管理。它也应便于用户使用。你的想法有足够的空间进行头脑风暴。也许这不是你的目标,但当你征求建议时,我已经给出了我的建议。:)

为什么不尝试将所有关键字加载到具有note\u id=>keywords或keyword=>note\u id的二维PHP数组中,并使用数组搜索进行关键字搜索?顺便问一下,想知道链接到一个有关键字的便笺背后的逻辑是什么。因为我认为会有很多注释都是一个关键字,反之亦然。这意味着您的链接将加载注释列表?谢谢,这可能是一个解决方案!其逻辑是关键字是唯一的单词,因此每个关键字将只链接到一个特定的注释。我正在尝试实现此解决方案,但我有一个问题。因为我使用javascript,所以我使用jQueryPost从数据库中获取关键字。但是,这是异步的,因此我无法将此请求的结果保存在一个方便的数组中,以便在加载页面时使用…您的意思是,因为Ajax调用是异步的,所以您无法获取要保存在数组中的数据并访问数据?可能您可以尝试“async:false”,以便其他一切都将等待,直到此调用完成。这是有意义的,但我希望用户不必在注释2中定义关键字referers。应用程序背后的想法是“您有许多注释,让我通过查找注释中某些单词的定义位置来帮助您理解注释之间的关系”(假设用户在定义该关键字的注释中使用关键字)。好的。有一件事在我脑海里浮现。有这么多不重要的单词,比如,is,the,a,an,you等等。因此,您可以在网页中提供一个xml,其中包含一些不重要的单词。然后尝试使用javascript捕获每个单词(即,用空格分隔),并与xml中的列表进行比较,列出所有其他单词。所以,您可以在客户端删除不重要的单词。然后在提交时,你必须只比较重要的词。您可以定期将单词添加到不重要的列表中。我只是想减少服务器端处理。你怎么认为?