Sphinxql:几个字段匹配
Sphinxql: several fields matching
给出了带有作者和他的书的字符串。索引中有两个字段:author
和 title
。我需要找到作者和标题匹配的所有书籍。
字符串可能仅包含作者或仅包含标题,因此我无法解析它。如果我搜索
SELECT id FROM books
WHERE MATCH('@(author, title) "jane smiley horse heaven");
,我没有找到 author="jane smiley" 和 title="horse heaven".
最相关的书
我需要类似的东西
SELECT id FROM books
WHERE MATCH('@(title) "horse heaven" @(author) "jane smiley"');
但不拆分字符串。
可能吗?
MATCH('@(author, title) "jane smiley horse heaven"');
要求的是确切的短语(引号是短语运算符)。即文本中连续的那四个词。正如您所说,那不会真正匹配。
而是
MATCH('@(author,title) (jane smiley horse heaven)');
应该意味着它只需要这些词。但在任何领域,技术上以任何顺序(因此可以匹配 "jane heaven, horse drawn smiley" 或其他任何东西;)
给出了带有作者和他的书的字符串。索引中有两个字段:author
和 title
。我需要找到作者和标题匹配的所有书籍。
字符串可能仅包含作者或仅包含标题,因此我无法解析它。如果我搜索
SELECT id FROM books
WHERE MATCH('@(author, title) "jane smiley horse heaven");
,我没有找到 author="jane smiley" 和 title="horse heaven".
最相关的书我需要类似的东西
SELECT id FROM books
WHERE MATCH('@(title) "horse heaven" @(author) "jane smiley"');
但不拆分字符串。
可能吗?
MATCH('@(author, title) "jane smiley horse heaven"');
要求的是确切的短语(引号是短语运算符)。即文本中连续的那四个词。正如您所说,那不会真正匹配。
而是
MATCH('@(author,title) (jane smiley horse heaven)');
应该意味着它只需要这些词。但在任何领域,技术上以任何顺序(因此可以匹配 "jane heaven, horse drawn smiley" 或其他任何东西;)