2011-12-21 17 views
0

GoogleサイトマップのXMLについては、すべてのドキュメントIDがSphinxによって収集されている必要があります。しかし、1000以上のドキュメントでは、単純なループでそれらをすべて取得しようとすると、最終的に私にはError: searchd error: offset out of bounds (offset=1000, max_matches=1000)が与えられます。SphinxですべてのドキュメントIDを取得する方法

私はmax_matchesの設定を増やすことができましたが、それはパフォーマンスを低下させます。

そして、私は単純にMySQLクエリを実行したくありません。なぜなら、SphinxインデクサクエリにUNIONと多数のチェック/ルールが存在するからです。また、私は保守性のために1か所で質問したい。

私が今やったことは、各カテゴリ(サイトマップにも必要です)で、カテゴリでフィルタリングされたSphinxクエリを実行することです。そのようにして私は1000の文書の限界以下にとどまります。

これにはより良い解決策が必要です。右?

答えて

1

私はここで、このためのPHPコードを掲載しました: http://sphinxsearch.com/forum/view.html?id=7215

基本的に、あなただけの結果にwhileループ内の時間で1000件の文書を盗ん。 sitemapsはファイル内の結果の順序を気にしないので、結果をdocument_idの順序で取得する必要はありません。

+0

正確に私が必要としたもの。ありがとう! – John