問題タブ [soundex]
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.
python - 単語を同じ soundex に置き換える
前置詞のスペルが間違っている文のリストがあります。私は正しい綴りの準備のリストを持っています:
データから単語の soundex を計算し、soundex が一致する場合はそれを参照単語に置き換える必要があります。私のコードは次のとおりです。
私は本当に混乱しています.. text1には、[「彼は噴水ではありませんでした」、...その他多数]のような文が含まれています。助けてください..私の構文が間違っています..
mysql - MySQL を使用したあいまいな重複の検出を改善する
オペレーターの入力エラーが原因でレコードが重複した名前、会社、または製品のテーブルがあります。
この問題を管理するためのツールを作成しようとしています。トラフィックの多いページにはなりませんが、レコードセットを作成するときにデータベースを強制終了することはありません。次のクエリがありますが、処理に数分かかります (長すぎます)。
結果を返すのに時間がかかりすぎることは別として、結果が少しあいまいすぎることがあります。たとえば、次のようなものを見つけられるのは素晴らしいことです。
しかし、これらはかなりずれているようです:
これを行うためのより高速で曖昧でない方法はありますか?
php - php と mysql の異なる soundex 値
データベースからsoundexに相当する姓を選択するmysqlクエリを作成しようとしています。PHP では、次の方法で soundex コードを作成しました。
$sxname = soundex($name);
そして、mysqlクエリを作成しました
これは多くの姓では問題なく機能しますが、CAWS などの他の姓では機能しません。CAWS の php soundex の値は C200 ですが、mysql の値は C000 になります。
これらの違いに対する解決策はありますか?
私は関数を使用しようとしたので、両方ともphpで作成されました:
そしてそれを呼び出します:
しかし、それもうまくいきませんでした。
mysql - 似た音のレコードを入手する
名前が一致する連絡先テーブルから、重複する名前をすべて見つけたいと思います。例: Rita または Reeta 、Microsoft または Microsift 、Mukherjee または Mukherji。
以下のクエリを使用しました:
連絡先からcontacts.idを選択する INNER JOIN (SELECT first_name,last_name,count(*) as rows contacts
from where deleted = 0 GROUP BY soundex(first_name),soundex(last_name) HAVING count(rows) > 1) as p wherecontacts.deleted =0 AND p. first_name
コンタクトのようです。first_name
とp。last_name
コンタクトのようです。last_name
ORDER BYcontacts.date_entered DESC
上記のクエリは正しい結果を返しますが、多くのレコードがある場合、多くの時間がかかります。
mysql - CSV列の個々の値に対するSoundex
これは実行できないかもしれないと思いますが、とにかく試してみることにしました。
MySQL データベースでは、列の 1 つがrelated
カンマ区切りの値のリストです: bob,sally,james,rick
.
特定の行について、この列の項目数は可変です。
ここで、その列のすべての項目に対して soundex 検索を実行したい場合 (このデータベースが確立されて統合された後のクライアント要求)、どうすればよいでしょうか? のようなものを書きたいと思います
SELECT `primary` FROM `table` WHERE `related`.split(",").any() SOUNDS LIKE sample
これは明らかに無意味なコードですが、うまくいけばアイデアを伝えます。
基本的に、CSV フィールドを個々の値に分解/分割してSOUNDEX
比較します。これらすべてのrelated
フィールドを取得する必要がある場合は、それらを分解してからsoundex()
PHP ループで個別に処理しますforeach()
(その言語はあまり重要ではありません。Python の場合もありますが、少し手間がかかります)。可能であればそれを避けるのが大好きです。