現在、Hyper Estraierのノードサーバを使用し、社内の文書を管理検索するシステムを
PHPで開発しています。
属性条件を設定し、最大取得件数を-1以外、
skipを設定して検索をすると、
skipの件数を変更するたびに、ヒット件数が変わってしまいます。
属性条件を設定しない、又は最大取得件数を-1に設定した場合は、
ヒット件数は変わらないようです。
WEBに表示するために、skipを使ってページ送りをしようとしています。
maxを-1にしてしまうと、処理速度が遅くなってしまうので、
どうしようかと悩んでいます。
使用方法を間違えているのでしょうか?
対処方法がありましたら、教えてください。
>skipの件数を変更するたびに、ヒット件数が変わってしまいます
スキップ分は処理対象から外れますので、ヒット扱いされないのも当然と言えば当然のことだと思いますよ
>WEBに表示するために、skipを使ってページ送りをしようとしています。
phpということなので、検索キーワードとヒット数をphpのセッション変数に入れておき、検索キーワードが変わらない限りはセッション変数に格納されているヒット数を出力するようにするなどの処理で対応すれば良いでしょう
Perl で利用したときに同じような問題に遭遇したことがあります。
だいぶ前なのでどう対処したかはっきり覚えていないのですが、Condition オブジェクトに対して set_options で何らかの設定変更を行うことで、検索精度や速度の若干の低下と引き替えに解消 (または軽減) できた記憶があります。
曖昧な回答で申し訳ありませんが参考になればと。
やはり、速度の低下などは避けられないみたいですね・・・。
option値の設定などもう少し調べてみます。
ご回答有難うございました。
PHP側の処理で何とか工夫をするよう考えてみたいと思います。
ご回答有難うございました。