2016-04-28 8 views
-2

私は記事(タイトル、本文)をmysqlに保存しています。私は約1M行(名前)のmysqlに格納され、elasticsearchでインデックスされています。記事のタイトルや本文に名前が見つかる行(名前の100%一致)を見つけるにはどうすればよいですか?どんなsuggetionsにも感謝します。あなたが機能LOCATE使用することができます名前で記事に関連する項目を検索します。

+2

ようこそ。 [よくある質問と回答](http://stackoverflow.com/help/on-topic)[よくある質問とその回答](http://stackoverflow.com/help/on-topic) -ask) [完全な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SOは**無料のコーディングやチュートリアルやライブラリではありませんサービスを見つける** – RiggsFolly

+1

しかし、私は問題は明らかであり、明確な答えを持っている! –

答えて

1

SELECT DISTINCT N.Name FROM name_table N, article_table A 
WHERE ((LOCATE(N.Name, A.Title) > 0) OR (LOCATE(N.Name, A.Body) > 0)); 

かとは条件に参加する:

SELECT DISTINCT N.Name FROM name_table N JOIN article_table A 
ON ((LOCATE(N.Name, A.Title) > 0) OR (LOCATE(N.Name, A.Body) > 0)); 

見つけて関数が返す> 0このような入力のために:見つける( 'OO'、 'マフムード' )、この問題を解決するための 、あなたは '' スペース(またはであなたの名前を連結することができます)

SELECT DISTINCT N.Name FROM name_table N JOIN article_table A 
ON ((LOCATE(Concat(' ', N.Name, ' '), A.Title) > 0) 
OR (LOCATE(Concat(' ', N.Name, ' '), A.Body) > 0)); 

条件に他の連結を追加することができます

関連する問題