Re: ACFinder 131027test版 exeのみ

このトピックの投稿一覧へ

なし Re: ACFinder 131027test版 exeのみ

msg# 1.3.3.1.2
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2013.10.28 10:56 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
部分一致作物名検索で、「稲」だと「(移植)水稲」「陸稲」なども表示されるのに、「いね」だと「すいとう」「りくとう」には当然マッチしないので「水稲」「陸稲」が表示されません。ということで、sakumotsu.txt に「水稲」「陸稲」の別名として「みずいね」「りくいね」を追加しました。

作物名検索をやってて気づきましたが、sakumotsu テーブルには最初から「(○○を除く)」という作物名が入っていないので、下記コードの AND 以下(「(○○を除く)」削除部分)は不要です。まあ、AND 以下が付いてても SQL 自体はこのままで問題なく動作しますし、付いていることによるタイムペナルティも微々たるものでしょうが…。
SELECT level,idSaku,sakumotsu FROM sakumotsu WHERE  concat('、', sakumotsu, betsumei) REGEXP '(^|、|\()(稲).*?(\)|、|$)' AND concat('、', sakumotsu, betsumei) NOT REGEXP '\((.*、)?(稲).*?(、.*)?を(除|のそ)く' ORDER BY idSaku;


あと、前にも書きましたが、適用検索時の「(○○を除く)」削除部分の正規表現で、「を(除|のそ)く」は「を除く」で OK です。これも、SQL 自体は問題ありませんし、タイムペナルティもほとんどないに等しいとは思いますが…。
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ