0

Zend Luceneを使用して、自分のWebサイトの検索機能を構築しています。すべてうまくいっています。

Luceneが辞書式順序で検索すること を
理解 する ( 例 :
1、110、1111444、2、3、4、499238492834798、5 など )






数字を3桁(010から990の範囲)に埋めました。

値110から160(たとえば、フィールド名:[110から160])の範囲検索を実行すると、040の結果が返されます。論理的には、すべての数値が1で始まるため(11、12、13、14、15、および16を検索しますが)、この結果と一致しないはずなので、これは間違っています。

なぜこれが起こっているのですか、そしてどうすればそれを防ぐことができますか?

[編集]Zendのドキュメントを読み間違えました。結果を辞書式にソートする範囲クエリ。しかし、私の問題は解決しません。

4

1 に答える 1

1

なぜこれがこのように動作しているのかわからないので、ループを実行しています:

for ($i = 0; $i < 50; $i + 10)
{
 $queryString .= 'fieldname:' . ($term + $i) . ' ';
}

次のようなクエリを作成します。

fieldname:110 fieldname:120 fieldname:130 fieldname:140 fieldname:150 fieldname:160

これは私が正確に望む結果を返します。

于 2010-11-19T14:59:17.277 に答える