ホームページ > バックエンド開発 > PHPチュートリアル > PHPの単語分割検索を一致数でソートする方法を探しています

PHPの単語分割検索を一致数でソートする方法を探しています

WBOY
リリース: 2016-06-20 12:37:20
オリジナル
1461 人が閲覧しました

まず、単語分割機能ができました。

たとえば、「Advanced PHP Tutorial」を検索すると、「Advanced PHP Tutorial」が抽出されます。

ここで行う必要があるのは、一致した数で並べ替えることです。すべての単語を同時に含むコンテンツが 1 位、2 つの単語を含むコンテンツが 2 位、1 つの単語のみを含むコンテンツが最後にランクされます

この関数の実装方法を聞いてもいいですか?


ディスカッション (解決策) への返信

そうでない場合全文検索を使用するとリクエストは達成できますが、効率が非常に低くなります (共同クエリ)
ただし、mysql の全文検索は中国語をサポートしていないため、サードパーティ ソフトウェアのインストールが必要です
通常、サードパーティ ソフトウェアのインストールが必要です
多少のコストがかかる別の解決策は、単語で分割された記事を事前に 16 進の内部コードでデータベースに保存し、mysql の全文検索を使用することです
が、これには少なくとも 2 倍の検索が必要です

自分で選択してください

全文検索を使用しない場合、リクエストは達成できますが、効率は非常に低くなります (共同クエリ)
しかし、mysql の全文検索は中国語をサポートするにはサードパーティ ソフトウェアのインストールが必要です
通常、サードパーティ ソフトウェアのインストールにはある程度の費用がかかります
別の解決策は、単語で分割された記事を事前に保存することですmysql の全文検索を使用してデータベースにアクセスします
ただし、これには少なくとも 2 倍のストレージ容量が必要です

独自の選択をしてください



モデレーター兄弟、おそらく私です。明確に表現しなかった。

たとえば、次のような 3 つの記事タイトルがあります:
1. チュートリアルのダウンロード
2. 高度な PHP チュートリアルのダウンロード
3. キーワードを使用します。検索:「上級 PHP チュートリアル」、3 つの記事タイトルが使用可能である必要があります。
並べ替えは次のようになります。
1. 上級 PHP チュートリアル「Match Three Keywords」をダウンロードします。
2. 2 つのキーワードの一致
3. チュートリアルのダウンロード 「1 つのキーワードの一致」

実装のアイデアと方法を探しています

どこにもありませんか?まだ動作していないようですが、バージョンをお知らせいただきありがとうございます。

ああ、どこを間違えたか

自分で入力するだけです。とにかく意味がありません


この場合、全文インデックスを使用する必要があります。

Coreseek + Sphinx を検討することができます

参考: http://www.cnblogs.com/yjf512/p/3581869.html

単語分割検索は実は罠のようです

モデレーターお二人の熱心な回答


解決しましたか? 私もこれからやりたいので解決してください

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート