2009/3/26 木曜日 by kouichi
IE7で画面が白くなって表示される場合があります。
知り合いも同じ現象になったようなので、こちらに書いておきいます。
現象はcontent-typeの前にtitleタグが存在する場合に起こるようです。
#実際はcontent-typeの前に日本語が存在する場合になるのかもしれません。
画面が真っ白になった場合でも右クリックでソースを表示すると、正しいソースが表示されるのが特徴です。
OKの場合
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ログイン</title>
NGの場合
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<title>ログイン</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
対応はcontent-typeを先に書けばOKです。
NGの場合でもFireFoxでは正常に表示されていたりしますので、なかなか気づきづらいですね。
Posted in その他 | No Comments
2009/3/26 木曜日 by kouichi
solr(Lucene)のスコア計算を改めて調べました。
こちらが詳しく書かれています。
score(q, d) =
coord(overlap, maxOverlap).
queryNorm(q).
Σ(tf(t in d). idf(t)^2. norm(t, d))
t in q
というのが計算式です。
solrのリクエスト時にdebugQuery=onで実行して、こちらと見比べてみます。
テストデータをインポートして、”solr ipod”で検索、4件ヒットします。
例)
http://localhost:8983/solr/select/?q=solr+ipod&version=2.2&start=0&rows=10&indent=on&debugQuery=on
そのうち、1件目のスコア情報を見てみると、下記のような感じです。
0.2925402 = (MATCH) product of:・・・(1)
0.5850804 = (MATCH) sum of:・・・(2)
0.5850804 = (MATCH) weight(text:ipod in 3), product of:・・・(3)
0.6273345 = queryWeight(text:ipod), product of:・・・(4)
2.871802 = idf(docFreq=3, numDocs=26)・・・(5)
0.21844627 = queryNorm・・・(6)
0.9326451 = (MATCH) fieldWeight(text:ipod in 3), product of:・・・(7)
1.7320508 = tf(termFreq(text:ipod)=3)・・・(8)
2.871802 = idf(docFreq=3, numDocs=26)・・・(9)
0.1875 = fieldNorm(field=text, doc=3)・・・(10)
0.5 = coord(1/2)・・・(11)
こちらと、計算式を見比べてみます。
0.2925402 = (MATCH) product of:・・・(1)↑最終的なスコアです。(2)×(11)になっています。
0.5850804 = (MATCH) sum of:・・・(2)↑検索文字列中ipodしかヒットしていないので(3)と同じですが、複数ヒットした場合はその合計値になります。
0.5850804 = (MATCH) weight(text:ipod in 3), product of:・・・(3)↑ipodで検索した場合の重みです。(4)×(7)になっています。
0.6273345 = queryWeight(text:ipod), product of:・・・(4)↑ipodで検索した場合のクエリー部分の重みです。(5)×(6)になっています。
2.871802 = idf(docFreq=3, numDocs=26)・・・(5)↑計算式中のidf部分です。(26ドキュメント中3ドキュメントヒットしている)
0.21844627 = queryNorm・・・(6)↑計算式中のqueryNorm部分です。
0.9326451 = (MATCH) fieldWeight(text:ipod in 3), product of:・・・(7)↑ipodで検索した場合のフィールド部分の重みです。(8)×(9)×(10)になっています。
1.7320508 = tf(termFreq(text:ipod)=3)・・・(8)↑計算式中のtf部分です。(フィールド中にipodという文字列が3つ存在する)
2.871802 = idf(docFreq=3, numDocs=26)・・・(9)↑計算式中のidf部分です。(これで2乗分)
0.1875 = fieldNorm(field=text, doc=3)・・・(10)↑計算式中のnorm部分です。(フィールド長より計算)
0.5 = coord(1/2)・・・(11)↑計算式中のcoord部分です。
大雑把にいうと、
・クエリーの単語がより多く含まれている。
・検索対象フィールドの文章が短い。
・希少単語が含まれる。
という時にスコアが高くなるという傾向になります。
Posted in Lucene | No Comments
2009/3/25 水曜日 by kouichi
無線LANの親機をWHR-G300Nに買い換えました。
以前使用していたのは壊れてしまいました。
相当昔に買ったもので、11gでしか接続できず、スループットが2Mbpsぐらいしか出なかったのですが、今度のは50Mbps出ているっぽいです。
早いです。
接続設定も楽にできました。
値段も安かったし、早めに買い換えればよかったかなぁ。
Posted in その他 | No Comments