使用JS以任意顺序搜索单词

Search words in any order using JS

本文关键字:顺序搜索 单词 任意 JS 使用      更新时间:2023-09-26

我有代码从文本框中搜索键入的单词,获取键入的单词,在web sql数据库中搜索它,并在HTML页面中显示结果。

这样我就可以按原样搜索单词,使用LIKE

(即)

SELECT * FROM tblName WHERE SearchWord LIKE %<typedword>%

如果表有,

  1. 你好医生
  2. 嗨先生
  3. Hello World
  4. <
  5. 欢迎程序员/gh>

用户输入"Hello",显示的是

**Hello** Doctor
**Hello** World

我需要显示结果,即使用户错误地排列单词,

。e如果用户输入"World Hello"

没有显示任何结果。但是,我想向用户显示

Hello World

你能帮帮我吗?

所以您希望使用输入的每个单词进行AND搜索,而不是使用确切的字符串?不如这样写:

var yourSearchText = 'World Hello';
var searchTerms = yourSearchText.split(' ');
var searchTermBits = [];
for(var i=0; i<searchTerms.length;i++) {
        searchTermBits.push("word LIKE %"+searchTerms[i]+"%");
}
var result = searchTermBits.join(" AND ");
var query = 'SELECT * FROM TABLE WHERE '+result;

将给出如下查询:

SELECT * FROM table WHERE word LIKE '%world%' AND word LIKE '%hello%'

如果您想匹配任何搜索项而不是所有搜索项,则将AND更改为OR。