问题标签 [match-against]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 寻找与 SQL 匹配的自然语言
我正在使用match() against()来匹配相似表中的不同值,但是它无法匹配以下两个值:
WERE HERE BECAUSE WERE LARGE
和ANATHEMA were here because TS M
即使它能够匹配以下内容:
ANTHOLOGY 3
和BEATLES anthology 3 ALBUM COVER BADGE
但是你可以看到它们非常相似,有没有办法让 match()against() 意识到它们有多相似?因为就字母而言,它们包含这两个值比任何其他可能的值都更相似,因此它们可以匹配它们。
php - 在 MySQL 和 CodeIgniter 中使用 Match 和 Against
我正在尝试在我的 codeIgniter 项目中实现搜索功能。我有一个名为 product_search 的表,我在其中使用以下命令设置了全文索引:
然后我使用以下 codeIgniter 代码搜索它:
但是,这会导致以下错误:
错误号:1064
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'AGAINST ('silk') OR
prod_id
LIKE '%silk%' ORprod_sku
LIKE '%silk%' OR 'prod'附近使用正确的语法SELECT
prod_id
FROM (product_search
) WHEREMATCH
(prod_title
,prod_desc
) AGAINST ('silk') ORprod_id
LIKE '%silk%' ORprod_sku
LIKE '%silk%' ORprod_title
LIKE '%silk%' ORprod_desc
LIKE '%silk%'文件名:models/products_model.php
行号:430
为什么它在 MATCH 周围加上反引号?
如果我删除 MATCH 及其后面的括号之间的空格,则会收到以下错误消息:
错误号:1191
找不到与列列表匹配的 FULLTEXT 索引
SELECT
prod_id
FROM (product_search
) WHERE MATCH(prod_title
,prod_desc
) AGAINST ('silk') ORprod_id
LIKE '%silk%' ORprod_sku
LIKE '%silk%' ORprod_title
LIKE '%silk%' ORprod_desc
LIKE '%silk%'文件名:models/products_model.php
行号:430
但是,我使用 top 命令添加了全文索引。出了什么问题?
mysql - 如何在 MySQL 表中搜索单词?比赛反对或喜欢?
我有一些公司的表格,这些公司可能在不同的国家有很多分支机构。这些国家被插入到countries
字段中。
现在,我必须创建一个搜索系统,允许用户查找在特定国家/地区设有分支机构的公司。
我的问题是:我必须使用哪一个?MATCH AGAINST
还是LIKE
?查询必须搜索所有记录以找到完全匹配的项目。
- 注意:记录可能有不同的国家名称,用逗号分隔。
mysql - 匹配“foo.bar”(句号/句号)
我可以在/foo
中使用 match来搜索行:bar
col1
col2
但是假设我想搜索确切的短语“foo.bar” (中间有句号)。在Boolean Full-Text Searches 的文档页面上,它没有提到句号是运算符,所以我想我可以使用:
但是,这将返回与以下相同的结果:
.
为什么这不像我预期的那样工作?我该如何匹配 for foo.bar
?
mysql - 比赛中的句号/句号运算符
我可以使用匹配来搜索/中foo
的所有行:col1
col2
但是假设我想用foo 搜索所有行。(即 foo 以句号作为下一个字符)。在Boolean Full-Text Searches 的文档页面上,它没有提到句号是 operator,所以我想我可以使用其中任何一个:
但是,这将返回与以下相同的结果:
.
.
在这种情况下,运营商是什么?以及如何匹配foo.
?
注意:我首先问了这个关于比赛的问题,foo.bar
这导致我问了这个后续问题。
mysql - 带单引号的全文查询
当我尝试使用带有单引号和星号通配符的字符串(即“levi's*”)在布尔模式下进行全文搜索时遇到问题:它似乎也在搜索所有以“s”开头的单词,就像“矛”一样,据我所知,引号应该被视为单词的一部分,而两个单引号('')将是单词分隔符......但也许我错了。
请看这里的例子:http ://www.sqlfiddle.com/#!2/3dd3e/2/0 - 第二行不应该在那里
我怎么能做我想做的事?
mysql - Is it ok to use both MATCH AGAINST and LIKE in one MySQL query?
I noticed that MATCH AGAINST
cannot search words that have 3 characters or less. So I added LIKE
along with MATCH AGAINST
in one query.
Search query: css and javascript tip
Database entries:
MySQL query:
3-character words: css, tip
This query works fine on my application (with a small database). I'm not sure if it's gonna cause any problems as the database grows.
Is this the correct way to search 3-character words while using MATCH AGAINST? If not, as for the example I provided, how should I seach for css and javascript at the same time?
mysql - MATCH...AGAINST... 不返回预期结果
我在表格中有这条记录:
TAS1J0413031AB32-E14-0SKODAOctavia97-F
但是当我尝试这样搜索时:
我没有得到任何结果。
但是当我尝试使用它时OX143D
,OX143DAUDIA3/VWGolf-4/Bora1.9TDI
它工作正常,1J0513425
一切107649=HP=1J0513425VWGolfIVRear
都很好。
我究竟做错了什么?如何获得我需要的结果?
如何轻松找到出现在任何地方的字符串?
mysql - sql比较几乎相等的记录
我在数据库中有这样的记录:
和
ETC
我试着比较
和
这里
当然它给我它不包括它......
但是我怎么能告诉mysql,这是真的呢?那Диски Тормозные
和Тормозной Диск
包含=> 是一样的吗?
sql - SQL - 与 HAVING 和 COUNT() 匹配
有人知道为什么第一个查询有效而第二个查询无效吗?
第一个查询(有效):
第二个查询(不工作):
第一个查询正好返回 24 行,第二个查询返回 0 行,而我刚刚更改*
为COUNT(id)