morit****@razil*****
morit****@razil*****
2005年 4月 12日 (火) 02:14:35 JST
> > まだまだ/myisam/ft_boolean_search.cの仕様が追えていないせいもあって、確実な事は > > 言えないのですが、keyを昇順ソートしてくれる版のsen_records_nextがあれば > > うまく動きそうな気がします。 > > とりあえず /myisam/ft_boolean_search.c 側で実装してみたところうまく動きました。 > ただ、全レコードを読み込んだ後にqsortしてるだけなので、効率悪そうです。 ありがとうございますー。ほぼいただいたpatchの通りに反映しました。 以下の2点だけ手を入れました。 - sen_index_selがNULLを返す場合への対処を加えた。 - sen_records *sirは_ftb_init_index_searchの中で解放するようにした。 (消費メモリ軽減のため) qsortは確かにちょびっと気になりますが、現状の実装ではsen_records_next()に手 を入れてもあまり改善しなさそうです。いずれ大きく方式を見直すかも知れません。 ft_boolean_find_relevance()が正しいスコアを返せるように修正するのもその際に あわせてやります。 -- morita