2

著者と彼の本との紐が与えられます。index には と の 2 つのフィールドがあり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"');

ただし、文字列を分割することはありません。

出来ますか?

4

1 に答える 1

4

MATCH('@(author, title) "ジェーン・スマイリー・ホース・ヘブン"');

その正確なフレーズを求めています(引用符はフレーズ演算子です)。つまり、テキスト内で連続する 4 つの単語です。おっしゃるとおり、本当に似合いません。

その代わり

MATCH('@(author,title) (jane smiley horse heaven)');

それらの言葉だけが必要であることを意味するはずです。しかし、どの分野でも、技術的にはどのような順序でも (「ジェーン ヘブン、馬を描いたスマイリー」などと一致する可能性があります ;)

于 2015-08-25T12:55:31.213 に答える